ANCOVA
in Reading Correct Words (1 Min) (Reading Correct Words (1 Min))
Geiser C. Challco geiser@alumni.usp.br
NOTE:
- Teste ANCOVA para determinar se houve diferenças significativas no
Reading Correct Words (1 Min) (medido usando pre- e pos-testes).
- ANCOVA test to determine whether there were significant differences
in Reading Correct Words (1 Min) (measured using pre- and
post-tests).
Setting Initial Variables
dv = "TFL.corretas.per.min"
dv.pos = "TFL.corretas.per.min.pos"
dv.pre = "TFL.corretas.per.min.pre"
fatores2 <- c("Sexo","Zona","Cor.Raca","Serie","TFL.corretas.per.min.quintile")
lfatores2 <- as.list(fatores2)
names(lfatores2) <- fatores2
fatores1 <- c("grupo", fatores2)
lfatores1 <- as.list(fatores1)
names(lfatores1) <- fatores1
lfatores <- c(lfatores1)
color <- list()
color[["prepost"]] = c("#ffee65","#f28e2B")
color[["grupo"]] = c("#bcbd22","#fd7f6f")
color[["Sexo"]] = c("#FF007F","#4D4DFF")
color[["Zona"]] = c("#AA00FF","#00CCCC")
color[["Cor.Raca"]] = c(
"Parda"="#b97100","Indígena"="#9F262F",
"Branca"="#87c498", "Preta"="#848283","Amarela"="#D6B91C"
)
level <- list()
level[["grupo"]] = c("Controle","Experimental")
level[["Sexo"]] = c("F","M")
level[["Zona"]] = c("Rural","Urbana")
level[["Cor.Raca"]] = c("Parda","Indígena","Branca", "Preta","Amarela")
level[["Serie"]] = c("6 ano","7 ano","8 ano","9 ano")
# ..
ymin <- 0
ymax <- 0
ymin.ci <- 0
ymax.ci <- 0
color[["grupo:Sexo"]] = c(
"Controle:F"="#ff99cb", "Controle:M"="#b7b7ff",
"Experimental:F"="#FF007F", "Experimental:M"="#4D4DFF",
"Controle.F"="#ff99cb", "Controle.M"="#b7b7ff",
"Experimental.F"="#FF007F", "Experimental.M"="#4D4DFF"
)
color[["grupo:Zona"]] = c(
"Controle:Rural"="#b2efef","Controle:Urbana"="#e5b2ff",
"Experimental:Rural"="#00CCCC", "Experimental:Urbana"="#AA00FF",
"Controle.Rural"="#b2efef","Controle.Urbana"="#e5b2ff",
"Experimental.Rural"="#00CCCC", "Experimental.Urbana"="#AA00FF"
)
color[["grupo:Cor.Raca"]] = c(
"Controle:Parda"="#e3c699", "Experimental:Parda"="#b97100",
"Controle:Indígena"="#e2bdc0", "Experimental:Indígena"="#9F262F",
"Controle:Branca"="#c0e8cb", "Experimental:Branca"="#87c498",
"Controle:Preta"="#dad9d9", "Experimental:Preta"="#848283",
"Controle:Amarela"="#eee3a4", "Experimental:Amarela"="#D6B91C",
"Controle.Parda"="#e3c699", "Experimental.Parda"="#b97100",
"Controle.Indígena"="#e2bdc0", "Experimental.Indígena"="#9F262F",
"Controle.Branca"="#c0e8cb", "Experimental.Branca"="#87c498",
"Controle.Preta"="#dad9d9", "Experimental.Preta"="#848283",
"Controle.Amarela"="#eee3a4", "Experimental.Amarela"="#D6B91C"
)
for (coln in c("vocab","vocab.teach","vocab.non.teach","score.tde",
"TFL.lidas.per.min","TFL.corretas.per.min","TFL.erradas.per.min","TFL.omitidas.per.min",
"leitura.compreensao")) {
color[[paste0(coln,".quintile")]] = c("#BF0040","#FF0000","#800080","#0000FF","#4000BF")
level[[paste0(coln,".quintile")]] = c("1st quintile","2nd quintile","3rd quintile","4th quintile","5th quintile")
color[[paste0("grupo:",coln,".quintile")]] = c(
"Experimental.1st quintile"="#BF0040", "Controle.1st quintile"="#d8668c",
"Experimental.2nd quintile"="#FF0000", "Controle.2nd quintile"="#ff7f7f",
"Experimental.3rd quintile"="#8fce00", "Controle.3rd quintile"="#ddf0b2",
"Experimental.4th quintile"="#0000FF", "Controle.4th quintile"="#b2b2ff",
"Experimental.5th quintile"="#4000BF", "Controle.5th quintile"="#b299e5",
"Experimental:1st quintile"="#BF0040", "Controle:1st quintile"="#d8668c",
"Experimental:2nd quintile"="#FF0000", "Controle:2nd quintile"="#ff7f7f",
"Experimental:3rd quintile"="#8fce00", "Controle:3rd quintile"="#ddf0b2",
"Experimental:4th quintile"="#0000FF", "Controle:4th quintile"="#b2b2ff",
"Experimental:5th quintile"="#4000BF", "Controle:5th quintile"="#b299e5")
}
gdat <- read_excel("../data/data.xlsx", sheet = "sumary")
gdat <- gdat[which(is.na(gdat$Necessidade.Deficiencia) & !is.na(gdat$Stari.Grupo)),]
dat <- gdat
dat$grupo <- factor(dat[["Stari.Grupo"]], level[["grupo"]])
for (coln in c(names(lfatores))) {
dat[[coln]] <- factor(dat[[coln]], level[[coln]][level[[coln]] %in% unique(dat[[coln]])])
}
dat <- dat[which(!is.na(dat[[dv.pre]]) & !is.na(dat[[dv.pos]])),]
dat <- dat[,c("id",names(lfatores),dv.pre,dv.pos)]
dat.long <- rbind(dat, dat)
dat.long$time <- c(rep("pre", nrow(dat)), rep("pos", nrow(dat)))
dat.long$time <- factor(dat.long$time, c("pre","pos"))
dat.long[[dv]] <- c(dat[[dv.pre]], dat[[dv.pos]])
for (f in c("grupo", names(lfatores))) {
if (is.null(color[[f]]) && length(unique(dat[[f]])) > 0)
color[[f]] <- distinctColorPalette(length(unique(dat[[f]])))
}
for (f in c(fatores2)) {
if (is.null(color[[paste0("grupo:",f)]]) && length(unique(dat[[f]])) > 0)
color[[paste0("grupo:",f)]] <- distinctColorPalette(length(unique(dat[["grupo"]]))*length(unique(dat[[f]])))
}
ldat <- list()
laov <- list()
lpwc <- list()
lemms <- list()
Descriptive Statistics
of Initial Data
df <- get.descriptives(dat, c(dv.pre, dv.pos), c("grupo"),
include.global = T, symmetry.test = T, normality.test = F)
df <- plyr::rbind.fill(
df, do.call(plyr::rbind.fill, lapply(lfatores2, FUN = function(f) {
if (nrow(dat) > 0 && sum(!is.na(unique(dat[[f]]))) > 1)
get.descriptives(dat, c(dv.pre,dv.pos), c("grupo", f),
symmetry.test = T, normality.test = F)
}))
)
## Warning: There were 2 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produced
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
## There were 2 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produced
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
df <- df[,c(fatores1[fatores1 %in% colnames(df)],"variable",
colnames(df)[!colnames(df) %in% c(fatores1,"variable")])]
| Controle |
|
|
|
|
|
TFL.corretas.per.min.pre |
90 |
90.222 |
92.0 |
23 |
154 |
24.662 |
2.600 |
5.165 |
29.50 |
YES |
-0.211 |
-0.119 |
| Experimental |
|
|
|
|
|
TFL.corretas.per.min.pre |
53 |
92.170 |
92.0 |
50 |
134 |
19.589 |
2.691 |
5.399 |
30.00 |
YES |
-0.083 |
-0.489 |
|
|
|
|
|
|
TFL.corretas.per.min.pre |
143 |
90.944 |
92.0 |
23 |
154 |
22.861 |
1.912 |
3.779 |
29.00 |
YES |
-0.212 |
-0.017 |
| Controle |
|
|
|
|
|
TFL.corretas.per.min.pos |
90 |
113.022 |
113.0 |
42 |
184 |
28.684 |
3.024 |
6.008 |
45.00 |
YES |
0.239 |
-0.390 |
| Experimental |
|
|
|
|
|
TFL.corretas.per.min.pos |
53 |
113.660 |
111.0 |
66 |
190 |
27.439 |
3.769 |
7.563 |
40.00 |
NO |
0.658 |
0.105 |
|
|
|
|
|
|
TFL.corretas.per.min.pos |
143 |
113.259 |
112.0 |
42 |
190 |
28.134 |
2.353 |
4.651 |
44.00 |
YES |
0.385 |
-0.175 |
| Controle |
F |
|
|
|
|
TFL.corretas.per.min.pre |
36 |
92.333 |
95.5 |
39 |
154 |
24.576 |
4.096 |
8.315 |
26.50 |
YES |
-0.111 |
0.057 |
| Controle |
M |
|
|
|
|
TFL.corretas.per.min.pre |
54 |
88.815 |
89.0 |
23 |
137 |
24.848 |
3.381 |
6.782 |
30.00 |
YES |
-0.267 |
-0.374 |
| Experimental |
F |
|
|
|
|
TFL.corretas.per.min.pre |
22 |
97.682 |
95.0 |
60 |
132 |
17.269 |
3.682 |
7.657 |
22.25 |
YES |
-0.186 |
-0.433 |
| Experimental |
M |
|
|
|
|
TFL.corretas.per.min.pre |
31 |
88.258 |
90.0 |
50 |
134 |
20.452 |
3.673 |
7.502 |
19.50 |
YES |
0.113 |
-0.569 |
| Controle |
F |
|
|
|
|
TFL.corretas.per.min.pos |
36 |
120.056 |
118.0 |
85 |
184 |
26.635 |
4.439 |
9.012 |
39.50 |
NO |
0.534 |
-0.623 |
| Controle |
M |
|
|
|
|
TFL.corretas.per.min.pos |
54 |
108.333 |
109.0 |
42 |
176 |
29.277 |
3.984 |
7.991 |
43.00 |
YES |
0.187 |
-0.555 |
| Experimental |
F |
|
|
|
|
TFL.corretas.per.min.pos |
22 |
123.955 |
115.5 |
81 |
190 |
25.712 |
5.482 |
11.400 |
37.75 |
YES |
0.482 |
-0.173 |
| Experimental |
M |
|
|
|
|
TFL.corretas.per.min.pos |
31 |
106.355 |
99.0 |
66 |
184 |
26.635 |
4.784 |
9.770 |
26.50 |
NO |
0.967 |
0.798 |
| Controle |
|
Rural |
|
|
|
TFL.corretas.per.min.pre |
58 |
90.276 |
92.0 |
23 |
154 |
26.761 |
3.514 |
7.037 |
34.50 |
YES |
-0.231 |
-0.302 |
| Controle |
|
Urbana |
|
|
|
TFL.corretas.per.min.pre |
7 |
92.286 |
98.0 |
47 |
123 |
24.067 |
9.097 |
22.259 |
19.00 |
NO |
-0.614 |
-0.791 |
| Controle |
|
|
|
|
|
TFL.corretas.per.min.pre |
25 |
89.520 |
87.0 |
52 |
137 |
20.199 |
4.040 |
8.338 |
24.00 |
YES |
0.117 |
-0.369 |
| Experimental |
|
Rural |
|
|
|
TFL.corretas.per.min.pre |
35 |
89.114 |
90.0 |
51 |
134 |
19.123 |
3.232 |
6.569 |
19.50 |
YES |
0.118 |
-0.509 |
| Experimental |
|
Urbana |
|
|
|
TFL.corretas.per.min.pre |
6 |
102.000 |
95.0 |
90 |
132 |
16.444 |
6.713 |
17.257 |
15.50 |
NO |
0.874 |
-1.037 |
| Experimental |
|
|
|
|
|
TFL.corretas.per.min.pre |
12 |
96.167 |
97.5 |
50 |
119 |
21.468 |
6.197 |
13.640 |
31.00 |
NO |
-0.652 |
-0.756 |
| Controle |
|
Rural |
|
|
|
TFL.corretas.per.min.pos |
58 |
104.914 |
105.0 |
42 |
184 |
25.393 |
3.334 |
6.677 |
32.50 |
YES |
0.304 |
0.430 |
| Controle |
|
Urbana |
|
|
|
TFL.corretas.per.min.pos |
7 |
142.429 |
149.0 |
87 |
176 |
28.553 |
10.792 |
26.407 |
22.50 |
NO |
-0.751 |
-0.649 |
| Controle |
|
|
|
|
|
TFL.corretas.per.min.pos |
25 |
123.600 |
130.0 |
74 |
176 |
28.076 |
5.615 |
11.589 |
41.00 |
YES |
0.049 |
-1.093 |
| Experimental |
|
Rural |
|
|
|
TFL.corretas.per.min.pos |
35 |
108.371 |
104.0 |
70 |
184 |
23.394 |
3.954 |
8.036 |
21.50 |
NO |
1.013 |
1.294 |
| Experimental |
|
Urbana |
|
|
|
TFL.corretas.per.min.pos |
6 |
132.000 |
122.0 |
94 |
190 |
33.923 |
13.849 |
35.600 |
30.50 |
NO |
0.578 |
-1.276 |
| Experimental |
|
|
|
|
|
TFL.corretas.per.min.pos |
12 |
119.917 |
132.0 |
66 |
166 |
32.084 |
9.262 |
20.385 |
50.25 |
YES |
-0.346 |
-1.462 |
| Controle |
|
|
Parda |
|
|
TFL.corretas.per.min.pre |
41 |
90.756 |
93.0 |
23 |
134 |
24.414 |
3.813 |
7.706 |
33.00 |
NO |
-0.550 |
-0.077 |
| Controle |
|
|
Indígena |
|
|
TFL.corretas.per.min.pre |
3 |
114.000 |
99.0 |
89 |
154 |
35.000 |
20.207 |
86.945 |
32.50 |
few data |
0.000 |
0.000 |
| Controle |
|
|
Branca |
|
|
TFL.corretas.per.min.pre |
12 |
103.667 |
102.5 |
83 |
137 |
15.956 |
4.606 |
10.138 |
24.25 |
NO |
0.541 |
-0.868 |
| Controle |
|
|
Preta |
|
|
TFL.corretas.per.min.pre |
1 |
99.000 |
99.0 |
99 |
99 |
|
|
|
0.00 |
few data |
0.000 |
0.000 |
| Controle |
|
|
|
|
|
TFL.corretas.per.min.pre |
33 |
82.242 |
84.0 |
39 |
137 |
24.357 |
4.240 |
8.637 |
42.00 |
YES |
0.099 |
-0.843 |
| Experimental |
|
|
Parda |
|
|
TFL.corretas.per.min.pre |
16 |
87.062 |
83.0 |
51 |
134 |
20.693 |
5.173 |
11.026 |
17.50 |
NO |
0.529 |
-0.235 |
| Experimental |
|
|
Indígena |
|
|
TFL.corretas.per.min.pre |
8 |
92.750 |
96.0 |
50 |
113 |
20.534 |
7.260 |
17.167 |
18.25 |
NO |
-0.949 |
-0.422 |
| Experimental |
|
|
Branca |
|
|
TFL.corretas.per.min.pre |
5 |
103.400 |
96.0 |
92 |
117 |
12.502 |
5.591 |
15.523 |
22.00 |
YES |
0.261 |
-2.236 |
| Experimental |
|
|
Amarela |
|
|
TFL.corretas.per.min.pre |
1 |
76.000 |
76.0 |
76 |
76 |
|
|
|
0.00 |
few data |
0.000 |
0.000 |
| Experimental |
|
|
|
|
|
TFL.corretas.per.min.pre |
23 |
93.783 |
92.0 |
57 |
132 |
19.751 |
4.118 |
8.541 |
25.00 |
YES |
-0.084 |
-0.826 |
| Controle |
|
|
Parda |
|
|
TFL.corretas.per.min.pos |
41 |
99.951 |
93.0 |
42 |
184 |
26.189 |
4.090 |
8.266 |
30.00 |
NO |
0.670 |
1.124 |
| Controle |
|
|
Indígena |
|
|
TFL.corretas.per.min.pos |
3 |
116.667 |
115.0 |
88 |
147 |
29.535 |
17.052 |
73.370 |
29.50 |
few data |
0.000 |
0.000 |
| Controle |
|
|
Branca |
|
|
TFL.corretas.per.min.pos |
12 |
114.000 |
114.5 |
83 |
150 |
19.088 |
5.510 |
12.128 |
18.25 |
YES |
0.086 |
-0.908 |
| Controle |
|
|
Preta |
|
|
TFL.corretas.per.min.pos |
1 |
118.000 |
118.0 |
118 |
118 |
|
|
|
0.00 |
few data |
0.000 |
0.000 |
| Controle |
|
|
|
|
|
TFL.corretas.per.min.pos |
33 |
128.424 |
135.0 |
74 |
176 |
28.025 |
4.878 |
9.937 |
43.00 |
YES |
-0.196 |
-0.937 |
| Experimental |
|
|
Parda |
|
|
TFL.corretas.per.min.pos |
16 |
99.500 |
96.5 |
70 |
144 |
19.190 |
4.798 |
10.226 |
12.00 |
NO |
0.735 |
0.103 |
| Experimental |
|
|
Indígena |
|
|
TFL.corretas.per.min.pos |
8 |
105.875 |
111.5 |
66 |
137 |
21.189 |
7.492 |
17.715 |
16.75 |
YES |
-0.484 |
-0.775 |
| Experimental |
|
|
Branca |
|
|
TFL.corretas.per.min.pos |
5 |
125.400 |
121.0 |
108 |
150 |
18.582 |
8.310 |
23.073 |
30.00 |
YES |
0.238 |
-2.053 |
| Experimental |
|
|
Amarela |
|
|
TFL.corretas.per.min.pos |
1 |
81.000 |
81.0 |
81 |
81 |
|
|
|
0.00 |
few data |
0.000 |
0.000 |
| Experimental |
|
|
|
|
|
TFL.corretas.per.min.pos |
23 |
125.087 |
129.0 |
79 |
190 |
30.639 |
6.389 |
13.249 |
45.50 |
YES |
0.393 |
-0.716 |
| Controle |
|
|
|
6 ano |
|
TFL.corretas.per.min.pre |
31 |
87.645 |
92.0 |
23 |
137 |
25.952 |
4.661 |
9.519 |
21.50 |
YES |
-0.472 |
0.053 |
| Controle |
|
|
|
7 ano |
|
TFL.corretas.per.min.pre |
19 |
93.895 |
97.0 |
52 |
154 |
24.705 |
5.668 |
11.907 |
28.50 |
YES |
0.299 |
-0.133 |
| Controle |
|
|
|
8 ano |
|
TFL.corretas.per.min.pre |
15 |
88.467 |
86.0 |
48 |
134 |
25.267 |
6.524 |
13.992 |
23.50 |
YES |
0.064 |
-0.979 |
| Controle |
|
|
|
9 ano |
|
TFL.corretas.per.min.pre |
25 |
91.680 |
92.0 |
45 |
130 |
23.666 |
4.733 |
9.769 |
36.00 |
YES |
-0.324 |
-1.071 |
| Experimental |
|
|
|
6 ano |
|
TFL.corretas.per.min.pre |
19 |
88.368 |
90.0 |
57 |
116 |
17.620 |
4.042 |
8.493 |
19.50 |
YES |
-0.122 |
-1.092 |
| Experimental |
|
|
|
7 ano |
|
TFL.corretas.per.min.pre |
11 |
92.545 |
90.0 |
66 |
117 |
18.052 |
5.443 |
12.127 |
29.00 |
YES |
0.220 |
-1.507 |
| Experimental |
|
|
|
8 ano |
|
TFL.corretas.per.min.pre |
13 |
91.000 |
92.0 |
50 |
132 |
24.121 |
6.690 |
14.576 |
31.00 |
YES |
-0.164 |
-0.911 |
| Experimental |
|
|
|
9 ano |
|
TFL.corretas.per.min.pre |
10 |
100.500 |
98.0 |
65 |
134 |
18.668 |
5.903 |
13.354 |
14.50 |
YES |
-0.048 |
-0.522 |
| Controle |
|
|
|
6 ano |
|
TFL.corretas.per.min.pos |
31 |
101.645 |
94.0 |
42 |
156 |
26.028 |
4.675 |
9.547 |
30.50 |
YES |
0.101 |
-0.420 |
| Controle |
|
|
|
7 ano |
|
TFL.corretas.per.min.pos |
19 |
112.053 |
99.0 |
85 |
184 |
27.104 |
6.218 |
13.064 |
36.00 |
NO |
0.990 |
0.215 |
| Controle |
|
|
|
8 ano |
|
TFL.corretas.per.min.pos |
15 |
123.067 |
133.0 |
68 |
176 |
32.270 |
8.332 |
17.871 |
43.00 |
YES |
-0.131 |
-1.173 |
| Controle |
|
|
|
9 ano |
|
TFL.corretas.per.min.pos |
25 |
121.840 |
117.0 |
65 |
176 |
27.092 |
5.418 |
11.183 |
33.00 |
YES |
-0.031 |
-0.544 |
| Experimental |
|
|
|
6 ano |
|
TFL.corretas.per.min.pos |
19 |
115.632 |
104.0 |
70 |
190 |
34.300 |
7.869 |
16.532 |
46.50 |
NO |
0.789 |
-0.537 |
| Experimental |
|
|
|
7 ano |
|
TFL.corretas.per.min.pos |
11 |
106.636 |
102.0 |
81 |
139 |
18.468 |
5.568 |
12.407 |
26.50 |
YES |
0.275 |
-1.397 |
| Experimental |
|
|
|
8 ano |
|
TFL.corretas.per.min.pos |
13 |
111.769 |
114.0 |
66 |
166 |
29.167 |
8.089 |
17.625 |
36.00 |
YES |
0.088 |
-1.115 |
| Experimental |
|
|
|
9 ano |
|
TFL.corretas.per.min.pos |
10 |
120.100 |
113.5 |
93 |
150 |
19.087 |
6.036 |
13.654 |
28.25 |
YES |
0.156 |
-1.601 |
| Controle |
|
|
|
|
1st quintile |
TFL.corretas.per.min.pre |
17 |
52.118 |
53.0 |
23 |
67 |
10.398 |
2.522 |
5.346 |
9.00 |
NO |
-1.055 |
1.256 |
| Controle |
|
|
|
|
2nd quintile |
TFL.corretas.per.min.pre |
15 |
77.800 |
80.0 |
68 |
84 |
5.401 |
1.395 |
2.991 |
6.00 |
NO |
-0.690 |
-1.051 |
| Controle |
|
|
|
|
3rd quintile |
TFL.corretas.per.min.pre |
18 |
89.333 |
89.0 |
85 |
94 |
2.849 |
0.672 |
1.417 |
5.00 |
YES |
-0.016 |
-1.485 |
| Controle |
|
|
|
|
4th quintile |
TFL.corretas.per.min.pre |
22 |
102.182 |
101.5 |
97 |
110 |
4.447 |
0.948 |
1.972 |
6.50 |
YES |
0.477 |
-1.275 |
| Controle |
|
|
|
|
5th quintile |
TFL.corretas.per.min.pre |
18 |
122.833 |
119.0 |
112 |
154 |
11.216 |
2.644 |
5.577 |
13.00 |
NO |
1.293 |
0.810 |
| Experimental |
|
|
|
|
1st quintile |
TFL.corretas.per.min.pre |
6 |
58.167 |
58.5 |
50 |
66 |
6.795 |
2.774 |
7.131 |
11.25 |
YES |
-0.058 |
-1.980 |
| Experimental |
|
|
|
|
2nd quintile |
TFL.corretas.per.min.pre |
11 |
76.727 |
78.0 |
68 |
84 |
5.002 |
1.508 |
3.360 |
4.00 |
NO |
-0.590 |
-0.834 |
| Experimental |
|
|
|
|
3rd quintile |
TFL.corretas.per.min.pre |
15 |
90.867 |
92.0 |
85 |
94 |
2.748 |
0.710 |
1.522 |
3.50 |
NO |
-0.564 |
-0.867 |
| Experimental |
|
|
|
|
4th quintile |
TFL.corretas.per.min.pre |
9 |
101.000 |
98.0 |
95 |
110 |
6.083 |
2.028 |
4.676 |
11.00 |
YES |
0.418 |
-1.756 |
| Experimental |
|
|
|
|
5th quintile |
TFL.corretas.per.min.pre |
12 |
118.333 |
116.5 |
112 |
134 |
7.190 |
2.076 |
4.568 |
3.00 |
NO |
1.271 |
0.098 |
| Controle |
|
|
|
|
1st quintile |
TFL.corretas.per.min.pos |
17 |
96.647 |
91.0 |
42 |
148 |
29.392 |
7.129 |
15.112 |
41.00 |
YES |
0.146 |
-1.007 |
| Controle |
|
|
|
|
2nd quintile |
TFL.corretas.per.min.pos |
15 |
99.267 |
89.0 |
65 |
139 |
22.967 |
5.930 |
12.719 |
28.00 |
NO |
0.593 |
-1.131 |
| Controle |
|
|
|
|
3rd quintile |
TFL.corretas.per.min.pos |
18 |
107.222 |
100.5 |
68 |
150 |
24.821 |
5.850 |
12.343 |
45.75 |
YES |
0.257 |
-1.469 |
| Controle |
|
|
|
|
4th quintile |
TFL.corretas.per.min.pos |
22 |
126.364 |
120.0 |
90 |
171 |
22.671 |
4.833 |
10.052 |
28.75 |
YES |
0.370 |
-0.846 |
| Controle |
|
|
|
|
5th quintile |
TFL.corretas.per.min.pos |
18 |
129.444 |
124.0 |
87 |
184 |
28.679 |
6.760 |
14.262 |
31.75 |
YES |
0.476 |
-0.893 |
| Experimental |
|
|
|
|
1st quintile |
TFL.corretas.per.min.pos |
6 |
95.500 |
92.5 |
66 |
150 |
29.602 |
12.085 |
31.066 |
20.25 |
NO |
0.802 |
-0.865 |
| Experimental |
|
|
|
|
2nd quintile |
TFL.corretas.per.min.pos |
11 |
91.636 |
88.0 |
70 |
144 |
19.392 |
5.847 |
13.028 |
13.50 |
NO |
1.606 |
2.013 |
| Experimental |
|
|
|
|
3rd quintile |
TFL.corretas.per.min.pos |
15 |
111.867 |
114.0 |
93 |
139 |
14.579 |
3.764 |
8.074 |
15.00 |
YES |
0.334 |
-1.015 |
| Experimental |
|
|
|
|
4th quintile |
TFL.corretas.per.min.pos |
9 |
124.111 |
112.0 |
94 |
190 |
30.444 |
10.148 |
23.402 |
33.00 |
NO |
1.011 |
-0.336 |
| Experimental |
|
|
|
|
5th quintile |
TFL.corretas.per.min.pos |
12 |
137.333 |
135.5 |
99 |
184 |
22.459 |
6.483 |
14.270 |
18.50 |
YES |
0.411 |
-0.415 |
ANCOVA and Pairwise
for one factor: grupo
Without remove non-normal
data
pdat = remove_group_data(dat[!is.na(dat[["grupo"]]),], "TFL.corretas.per.min.pos", "grupo")
pdat.long <- rbind(pdat[,c("id","grupo")], pdat[,c("id","grupo")])
pdat.long[["time"]] <- c(rep("pre", nrow(pdat)), rep("pos", nrow(pdat)))
pdat.long[["time"]] <- factor(pdat.long[["time"]], c("pre","pos"))
pdat.long[["TFL.corretas.per.min"]] <- c(pdat[["TFL.corretas.per.min.pre"]], pdat[["TFL.corretas.per.min.pos"]])
aov = anova_test(pdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo)
laov[["grupo"]] <- get_anova_table(aov)
pwc <- emmeans_test(pdat, TFL.corretas.per.min.pos ~ grupo, covariate = TFL.corretas.per.min.pre,
p.adjust.method = "bonferroni")
pwc.long <- emmeans_test(dplyr::group_by_at(pdat.long, "grupo"),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo"]] <- plyr::rbind.fill(pwc, pwc.long)
ds <- get.descriptives(pdat, "TFL.corretas.per.min.pos", "grupo", covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = "grupo", all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwc), ds, by = "grupo", suffixes = c(".emms", ""))
ds <- ds[,c("grupo","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre","mean","se",
"emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo"]] <- ds
Computing
ANCOVA and PairWise After removing non-normal data (OK)
wdat = pdat
res = residuals(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo, data = wdat))
non.normal = getNonNormal(res, wdat$id, plimit = 0.05)
wdat = wdat[!wdat$id %in% non.normal,]
wdat.long <- rbind(wdat[,c("id","grupo")], wdat[,c("id","grupo")])
wdat.long[["time"]] <- c(rep("pre", nrow(wdat)), rep("pos", nrow(wdat)))
wdat.long[["time"]] <- factor(wdat.long[["time"]], c("pre","pos"))
wdat.long[["TFL.corretas.per.min"]] <- c(wdat[["TFL.corretas.per.min.pre"]], wdat[["TFL.corretas.per.min.pos"]])
ldat[["grupo"]] = wdat
(non.normal)
## [1] "P1010" "P463" "P956" "P3498" "P3721" "P3609" "P3516" "P445" "P3521" "P808" "P3504" "P446" "P1109" "P3492" "P3729"
## [16] "P465" "P3581" "P942" "P628" "P621" "P820" "P133" "P3501" "P184" "P3566" "P947" "P1017" "P3627" "P128" "P816"
## [31] "P3615" "P3512" "P1097" "P3495" "P1716" "P950" "P448" "P3524" "P3502" "P1089" "P3505" "P3565" "P3518" "P812" "P521"
## [46] "P3606" "P3558" "P3624" "P1004" "P616" "P618" "P994" "P1000" "P829" "P614" "P241" "P451" "P460" "P457" "P515"
## [61] "P615" "P813" "P997" "P936" "P625" "P613" "P513" "P516" "P958" "P3734" "P1084" "P512" "P3598" "P3509" "P464"
## [76] "P612" "P626" "P620" "P1107" "P3560" "P3519" "P948" "P523" "P3508" "P943" "P176" "P2210" "P1729" "P238" "P3577"
## [91] "P522"
aov = anova_test(wdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo)
laov[["grupo"]] <- merge(get_anova_table(aov), laov[["grupo"]],
by="Effect", suffixes = c("","'"))
(df = get_anova_table(aov))
## ANOVA Table (type II tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 TFL.corretas.per.min.pre 1 49 36.320 2.13e-07 * 0.426
## 2 grupo 1 49 1.106 2.98e-01 0.022
| TFL.corretas.per.min.pre |
1 |
49 |
36.320 |
0.000 |
* |
0.426 |
| grupo |
1 |
49 |
1.106 |
0.298 |
|
0.022 |
pwc <- emmeans_test(wdat, TFL.corretas.per.min.pos ~ grupo, covariate = TFL.corretas.per.min.pre,
p.adjust.method = "bonferroni")
| TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
49 |
1.051 |
0.298 |
0.298 |
ns |
pwc.long <- emmeans_test(dplyr::group_by_at(wdat.long, "grupo"),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo"]] <- merge(plyr::rbind.fill(pwc, pwc.long), lpwc[["grupo"]],
by=c("grupo","term",".y.","group1","group2"),
suffixes = c("","'"))
| Controle |
time |
TFL.corretas.per.min |
pre |
pos |
100 |
-9.306 |
0 |
0 |
**** |
| Experimental |
time |
TFL.corretas.per.min |
pre |
pos |
100 |
-6.043 |
0 |
0 |
**** |
ds <- get.descriptives(wdat, "TFL.corretas.per.min.pos", "grupo", covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = "grupo", all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwc), ds, by = "grupo", suffixes = c(".emms", ""))
ds <- ds[,c("grupo","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre","mean","se",
"emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo"]] <- merge(ds, lemms[["grupo"]], by=c("grupo"), suffixes = c("","'"))
| Controle |
33 |
88.061 |
4.258 |
139.909 |
3.605 |
141.353 |
2.989 |
135.346 |
147.360 |
| Experimental |
19 |
94.263 |
4.550 |
138.632 |
5.740 |
136.124 |
3.949 |
128.189 |
144.059 |
Plots for ancova
plots <- oneWayAncovaPlots(
wdat, "TFL.corretas.per.min.pos", "grupo", aov, list("grupo"=pwc), addParam = c("mean_ci"),
font.label.size=10, step.increase=0.05, p.label="p.adj",
subtitle = which(aov$Effect == "grupo"))
if (!is.null(nrow(plots[["grupo"]]$data)))
plots[["grupo"]] +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)

plots <- oneWayAncovaBoxPlots(
wdat, "TFL.corretas.per.min.pos", "grupo", aov, pwc, covar = "TFL.corretas.per.min.pre",
theme = "classic", color = color[["grupo"]],
subtitle = which(aov$Effect == "grupo"))
if (length(unique(wdat[["grupo"]])) > 1)
plots[["grupo"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
ggplot2::scale_x_discrete(labels=c('pre', 'pos')) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)

if (length(unique(wdat.long[["grupo"]])) > 1)
plots <- oneWayAncovaBoxPlots(
wdat.long, "TFL.corretas.per.min", "grupo", aov, pwc.long,
pre.post = "time", theme = "classic", color = color$prepost)
if (length(unique(wdat.long[["grupo"]])) > 1)
plots[["grupo"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)

Checking linearity
assumption
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "grupo", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = grupo)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo"))) +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)

Checking normality and
homogeneity
res <- augment(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo, data = wdat))
## # A tibble: 1 × 3
## variable statistic p.value
## <chr> <dbl> <dbl>
## 1 res$.resid 0.955 0.0453
levene_test(res, .resid ~ grupo)
## # A tibble: 1 × 4
## df1 df2 statistic p
## <int> <int> <dbl> <dbl>
## 1 1 50 1.40 0.242
ANCOVA and
Pairwise for two factors grupo:Sexo
Without remove non-normal
data
pdat = remove_group_data(dat[!is.na(dat[["grupo"]]) & !is.na(dat[["Sexo"]]),],
"TFL.corretas.per.min.pos", c("grupo","Sexo"))
pdat = pdat[pdat[["Sexo"]] %in% do.call(
intersect, lapply(unique(pdat[["grupo"]]), FUN = function(x) {
unique(pdat[["Sexo"]][which(pdat[["grupo"]] == x)])
})),]
pdat[["grupo"]] = factor(pdat[["grupo"]], level[["grupo"]])
pdat[["Sexo"]] = factor(
pdat[["Sexo"]],
level[["Sexo"]][level[["Sexo"]] %in% unique(pdat[["Sexo"]])])
pdat.long <- rbind(pdat[,c("id","grupo","Sexo")], pdat[,c("id","grupo","Sexo")])
pdat.long[["time"]] <- c(rep("pre", nrow(pdat)), rep("pos", nrow(pdat)))
pdat.long[["time"]] <- factor(pdat.long[["time"]], c("pre","pos"))
pdat.long[["TFL.corretas.per.min"]] <- c(pdat[["TFL.corretas.per.min.pre"]], pdat[["TFL.corretas.per.min.pos"]])
if (length(unique(pdat[["Sexo"]])) >= 2) {
aov = anova_test(pdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Sexo)
laov[["grupo:Sexo"]] <- get_anova_table(aov)
}
if (length(unique(pdat[["Sexo"]])) >= 2) {
pwcs <- list()
pwcs[["Sexo"]] <- emmeans_test(
group_by(pdat, grupo), TFL.corretas.per.min.pos ~ Sexo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(pdat, Sexo), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["Sexo"]])
pwc <- pwc[,c("grupo","Sexo", colnames(pwc)[!colnames(pwc) %in% c("grupo","Sexo")])]
}
if (length(unique(pdat[["Sexo"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(pdat.long, c("grupo","Sexo")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:Sexo"]] <- plyr::rbind.fill(pwc, pwc.long)
}
if (length(unique(pdat[["Sexo"]])) >= 2) {
ds <- get.descriptives(pdat, "TFL.corretas.per.min.pos", c("grupo","Sexo"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","Sexo"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","Sexo"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","Sexo","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre","mean","se",
"emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","Sexo", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:Sexo"]] <- ds
}
Computing
ANCOVA and PairWise After removing non-normal data (OK)
if (length(unique(pdat[["Sexo"]])) >= 2) {
wdat = pdat
res = residuals(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Sexo, data = wdat))
non.normal = getNonNormal(res, wdat$id, plimit = 0.05)
wdat = wdat[!wdat$id %in% non.normal,]
wdat.long <- rbind(wdat[,c("id","grupo","Sexo")], wdat[,c("id","grupo","Sexo")])
wdat.long[["time"]] <- c(rep("pre", nrow(wdat)), rep("pos", nrow(wdat)))
wdat.long[["time"]] <- factor(wdat.long[["time"]], c("pre","pos"))
wdat.long[["TFL.corretas.per.min"]] <- c(wdat[["TFL.corretas.per.min.pre"]], wdat[["TFL.corretas.per.min.pos"]])
ldat[["grupo:Sexo"]] = wdat
(non.normal)
}
## [1] "P463" "P121" "P1010" "P2250" "P945" "P2378" "P808" "P956" "P2294" "P2220" "P1768" "P2380" "P446" "P3492" "P3721"
## [16] "P510" "P2385" "P3729" "P3498" "P133" "P3516" "P1743" "P623" "P2211" "P3609" "P128" "P445" "P2377" "P2390" "P2408"
## [31] "P3504" "P3512" "P2209" "P1698" "P2247" "P2404" "P3521" "P1089" "P2240" "P2222" "P3505" "P2214" "P3524" "P1109" "P521"
## [46] "P465" "P3558" "P3581" "P942" "P3501" "P621" "P628" "P1728" "P820" "P994" "P947" "P184" "P3566" "P3627" "P1713"
## [61] "P1017" "P816" "P2383" "P2401" "P1762" "P2376" "P1097" "P3615" "P3630" "P3495" "P1699" "P2244" "P448" "P241" "P1716"
## [76] "P615" "P3511" "P1091" "P950" "P460" "P1022" "P2402" "P1764" "P941"
if (length(unique(pdat[["Sexo"]])) >= 2) {
aov = anova_test(wdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Sexo)
laov[["grupo:Sexo"]] <- merge(get_anova_table(aov), laov[["grupo:Sexo"]],
by="Effect", suffixes = c("","'"))
df = get_anova_table(aov)
}
| TFL.corretas.per.min.pre |
1 |
54 |
216.425 |
0.000 |
* |
0.800 |
| grupo |
1 |
54 |
0.018 |
0.893 |
|
0.000 |
| Sexo |
1 |
54 |
26.602 |
0.000 |
* |
0.330 |
| grupo:Sexo |
1 |
54 |
3.690 |
0.060 |
|
0.064 |
if (length(unique(pdat[["Sexo"]])) >= 2) {
pwcs <- list()
pwcs[["Sexo"]] <- emmeans_test(
group_by(wdat, grupo), TFL.corretas.per.min.pos ~ Sexo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(wdat, Sexo), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["Sexo"]])
pwc <- pwc[,c("grupo","Sexo", colnames(pwc)[!colnames(pwc) %in% c("grupo","Sexo")])]
}
|
F |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
54 |
-1.620 |
0.111 |
0.111 |
ns |
|
M |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
54 |
1.078 |
0.286 |
0.286 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*Sexo |
TFL.corretas.per.min.pos |
F |
M |
54 |
2.633 |
0.011 |
0.011 |
* |
| Experimental |
|
TFL.corretas.per.min.pre*Sexo |
TFL.corretas.per.min.pos |
F |
M |
54 |
4.769 |
0.000 |
0.000 |
**** |
if (length(unique(pdat[["Sexo"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(wdat.long, c("grupo","Sexo")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:Sexo"]] <- merge(plyr::rbind.fill(pwc, pwc.long),
lpwc[["grupo:Sexo"]],
by=c("grupo","Sexo","term",".y.","group1","group2"),
suffixes = c("","'"))
}
| Controle |
F |
time |
TFL.corretas.per.min |
pre |
pos |
110 |
-3.380 |
0.001 |
0.001 |
** |
| Controle |
M |
time |
TFL.corretas.per.min |
pre |
pos |
110 |
-1.983 |
0.050 |
0.050 |
* |
| Experimental |
F |
time |
TFL.corretas.per.min |
pre |
pos |
110 |
-2.442 |
0.016 |
0.016 |
* |
| Experimental |
M |
time |
TFL.corretas.per.min |
pre |
pos |
110 |
-2.231 |
0.028 |
0.028 |
* |
if (length(unique(pdat[["Sexo"]])) >= 2) {
ds <- get.descriptives(wdat, "TFL.corretas.per.min.pos", c("grupo","Sexo"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","Sexo"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","Sexo"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","Sexo","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre",
"mean","se","emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","Sexo", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:Sexo"]] <- merge(ds, lemms[["grupo:Sexo"]],
by=c("grupo","Sexo"), suffixes = c("","'"))
}
| Controle |
F |
15 |
86.600 |
7.768 |
112.000 |
4.136 |
115.427 |
1.877 |
111.664 |
119.190 |
| Controle |
M |
17 |
97.706 |
5.989 |
111.706 |
4.312 |
108.597 |
1.762 |
105.064 |
112.130 |
| Experimental |
F |
8 |
99.875 |
4.879 |
125.000 |
5.155 |
120.615 |
2.568 |
115.467 |
125.763 |
| Experimental |
M |
19 |
89.158 |
5.059 |
104.053 |
3.391 |
105.975 |
1.660 |
102.646 |
109.303 |
Plots for ancova
if (length(unique(pdat[["Sexo"]])) >= 2) {
ggPlotAoC2(pwcs, "grupo", "Sexo", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:Sexo"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["Sexo"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["Sexo"]])) >= 2) {
ggPlotAoC2(pwcs, "Sexo", "grupo", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:Sexo"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["Sexo"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat, "TFL.corretas.per.min.pos", c("grupo","Sexo"), aov, pwcs, covar = "TFL.corretas.per.min.pre",
theme = "classic", color = color[["grupo:Sexo"]],
subtitle = which(aov$Effect == "grupo:Sexo"))
}
if (length(unique(pdat[["Sexo"]])) >= 2) {
plots[["grupo:Sexo"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
ggplot2::scale_x_discrete(labels=c('pre', 'pos')) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}
## Warning: No shared levels found between `names(values)` of the manual scale and the data's colour values.

if (length(unique(pdat[["Sexo"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat.long, "TFL.corretas.per.min", c("grupo","Sexo"), aov, pwc.long,
pre.post = "time",
theme = "classic", color = color$prepost)
}
if (length(unique(pdat[["Sexo"]])) >= 2)
plots[["grupo:Sexo"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)

Checking linearity
assumption
if (length(unique(pdat[["Sexo"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
facet.by = c("grupo","Sexo"), add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"))
) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Sexo"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "grupo", facet.by = "Sexo", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = grupo)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:Sexo"))) +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Sexo"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "Sexo", facet.by = "grupo", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = Sexo)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:Sexo"))) +
ggplot2::scale_color_manual(values = color[["Sexo"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

Checking normality and
homogeneity
if (length(unique(pdat[["Sexo"]])) >= 2)
res <- augment(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Sexo, data = wdat))
if (length(unique(pdat[["Sexo"]])) >= 2)
shapiro_test(res$.resid)
## # A tibble: 1 × 3
## variable statistic p.value
## <chr> <dbl> <dbl>
## 1 res$.resid 0.951 0.0190
if (length(unique(pdat[["Sexo"]])) >= 2)
levene_test(res, .resid ~ grupo*Sexo)
## # A tibble: 1 × 4
## df1 df2 statistic p
## <int> <int> <dbl> <dbl>
## 1 3 55 0.316 0.814
ANCOVA and
Pairwise for two factors grupo:Zona
Without remove non-normal
data
pdat = remove_group_data(dat[!is.na(dat[["grupo"]]) & !is.na(dat[["Zona"]]),],
"TFL.corretas.per.min.pos", c("grupo","Zona"))
pdat = pdat[pdat[["Zona"]] %in% do.call(
intersect, lapply(unique(pdat[["grupo"]]), FUN = function(x) {
unique(pdat[["Zona"]][which(pdat[["grupo"]] == x)])
})),]
pdat[["grupo"]] = factor(pdat[["grupo"]], level[["grupo"]])
pdat[["Zona"]] = factor(
pdat[["Zona"]],
level[["Zona"]][level[["Zona"]] %in% unique(pdat[["Zona"]])])
pdat.long <- rbind(pdat[,c("id","grupo","Zona")], pdat[,c("id","grupo","Zona")])
pdat.long[["time"]] <- c(rep("pre", nrow(pdat)), rep("pos", nrow(pdat)))
pdat.long[["time"]] <- factor(pdat.long[["time"]], c("pre","pos"))
pdat.long[["TFL.corretas.per.min"]] <- c(pdat[["TFL.corretas.per.min.pre"]], pdat[["TFL.corretas.per.min.pos"]])
if (length(unique(pdat[["Zona"]])) >= 2) {
aov = anova_test(pdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Zona)
laov[["grupo:Zona"]] <- get_anova_table(aov)
}
if (length(unique(pdat[["Zona"]])) >= 2) {
pwcs <- list()
pwcs[["Zona"]] <- emmeans_test(
group_by(pdat, grupo), TFL.corretas.per.min.pos ~ Zona,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(pdat, Zona), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["Zona"]])
pwc <- pwc[,c("grupo","Zona", colnames(pwc)[!colnames(pwc) %in% c("grupo","Zona")])]
}
if (length(unique(pdat[["Zona"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(pdat.long, c("grupo","Zona")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:Zona"]] <- plyr::rbind.fill(pwc, pwc.long)
}
if (length(unique(pdat[["Zona"]])) >= 2) {
ds <- get.descriptives(pdat, "TFL.corretas.per.min.pos", c("grupo","Zona"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","Zona"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","Zona"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","Zona","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre","mean","se",
"emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","Zona", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:Zona"]] <- ds
}
Computing
ANCOVA and PairWise After removing non-normal data (OK)
if (length(unique(pdat[["Zona"]])) >= 2) {
wdat = pdat
res = residuals(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Zona, data = wdat))
non.normal = getNonNormal(res, wdat$id, plimit = 0.05)
wdat = wdat[!wdat$id %in% non.normal,]
wdat.long <- rbind(wdat[,c("id","grupo","Zona")], wdat[,c("id","grupo","Zona")])
wdat.long[["time"]] <- c(rep("pre", nrow(wdat)), rep("pos", nrow(wdat)))
wdat.long[["time"]] <- factor(wdat.long[["time"]], c("pre","pos"))
wdat.long[["TFL.corretas.per.min"]] <- c(wdat[["TFL.corretas.per.min.pre"]], wdat[["TFL.corretas.per.min.pos"]])
ldat[["grupo:Zona"]] = wdat
(non.normal)
}
## [1] "P510" "P1768" "P1743" "P2378" "P945" "P1698" "P2220"
if (length(unique(pdat[["Zona"]])) >= 2) {
aov = anova_test(wdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Zona)
laov[["grupo:Zona"]] <- merge(get_anova_table(aov), laov[["grupo:Zona"]],
by="Effect", suffixes = c("","'"))
df = get_anova_table(aov)
}
| TFL.corretas.per.min.pre |
1 |
94 |
76.601 |
0.000 |
* |
0.449 |
| grupo |
1 |
94 |
0.011 |
0.918 |
|
0.000 |
| Zona |
1 |
94 |
42.906 |
0.000 |
* |
0.313 |
| grupo:Zona |
1 |
94 |
3.994 |
0.049 |
* |
0.041 |
if (length(unique(pdat[["Zona"]])) >= 2) {
pwcs <- list()
pwcs[["Zona"]] <- emmeans_test(
group_by(wdat, grupo), TFL.corretas.per.min.pos ~ Zona,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(wdat, Zona), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["Zona"]])
pwc <- pwc[,c("grupo","Zona", colnames(pwc)[!colnames(pwc) %in% c("grupo","Zona")])]
}
|
Rural |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
94 |
-0.841 |
0.403 |
0.403 |
ns |
|
Urbana |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
94 |
1.817 |
0.072 |
0.072 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*Zona |
TFL.corretas.per.min.pos |
Rural |
Urbana |
94 |
-6.213 |
0.000 |
0.000 |
**** |
| Experimental |
|
TFL.corretas.per.min.pre*Zona |
TFL.corretas.per.min.pos |
Rural |
Urbana |
94 |
-2.890 |
0.005 |
0.005 |
** |
if (length(unique(pdat[["Zona"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(wdat.long, c("grupo","Zona")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:Zona"]] <- merge(plyr::rbind.fill(pwc, pwc.long),
lpwc[["grupo:Zona"]],
by=c("grupo","Zona","term",".y.","group1","group2"),
suffixes = c("","'"))
}
| Controle |
Rural |
time |
TFL.corretas.per.min |
pre |
pos |
190 |
-2.328 |
0.021 |
0.021 |
* |
| Controle |
Urbana |
time |
TFL.corretas.per.min |
pre |
pos |
190 |
-4.142 |
0.000 |
0.000 |
**** |
| Experimental |
Rural |
time |
TFL.corretas.per.min |
pre |
pos |
190 |
-2.406 |
0.017 |
0.017 |
* |
| Experimental |
Urbana |
time |
TFL.corretas.per.min |
pre |
pos |
190 |
-2.294 |
0.023 |
0.023 |
* |
if (length(unique(pdat[["Zona"]])) >= 2) {
ds <- get.descriptives(wdat, "TFL.corretas.per.min.pos", c("grupo","Zona"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","Zona"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","Zona"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","Zona","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre",
"mean","se","emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","Zona", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:Zona"]] <- merge(ds, lemms[["grupo:Zona"]],
by=c("grupo","Zona"), suffixes = c("","'"))
}
| Controle |
Rural |
54 |
91.111 |
3.608 |
101.259 |
2.955 |
101.490 |
2.205 |
97.112 |
105.868 |
| Controle |
Urbana |
7 |
92.286 |
9.097 |
142.429 |
10.792 |
141.934 |
6.124 |
129.774 |
154.094 |
| Experimental |
Rural |
32 |
89.969 |
3.268 |
103.594 |
3.038 |
104.530 |
2.866 |
98.840 |
110.221 |
| Experimental |
Urbana |
6 |
102.000 |
6.713 |
132.000 |
13.849 |
125.503 |
6.656 |
112.288 |
138.719 |
Plots for ancova
if (length(unique(pdat[["Zona"]])) >= 2) {
ggPlotAoC2(pwcs, "grupo", "Zona", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:Zona"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["Zona"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["Zona"]])) >= 2) {
ggPlotAoC2(pwcs, "Zona", "grupo", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:Zona"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["Zona"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat, "TFL.corretas.per.min.pos", c("grupo","Zona"), aov, pwcs, covar = "TFL.corretas.per.min.pre",
theme = "classic", color = color[["grupo:Zona"]],
subtitle = which(aov$Effect == "grupo:Zona"))
}
if (length(unique(pdat[["Zona"]])) >= 2) {
plots[["grupo:Zona"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
ggplot2::scale_x_discrete(labels=c('pre', 'pos')) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}
## Warning: No shared levels found between `names(values)` of the manual scale and the data's colour values.

if (length(unique(pdat[["Zona"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat.long, "TFL.corretas.per.min", c("grupo","Zona"), aov, pwc.long,
pre.post = "time",
theme = "classic", color = color$prepost)
}
if (length(unique(pdat[["Zona"]])) >= 2)
plots[["grupo:Zona"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)

Checking linearity
assumption
if (length(unique(pdat[["Zona"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
facet.by = c("grupo","Zona"), add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"))
) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Zona"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "grupo", facet.by = "Zona", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = grupo)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:Zona"))) +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Zona"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "Zona", facet.by = "grupo", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = Zona)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:Zona"))) +
ggplot2::scale_color_manual(values = color[["Zona"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

Checking normality and
homogeneity
if (length(unique(pdat[["Zona"]])) >= 2)
res <- augment(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Zona, data = wdat))
if (length(unique(pdat[["Zona"]])) >= 2)
shapiro_test(res$.resid)
## # A tibble: 1 × 3
## variable statistic p.value
## <chr> <dbl> <dbl>
## 1 res$.resid 0.980 0.133
if (length(unique(pdat[["Zona"]])) >= 2)
levene_test(res, .resid ~ grupo*Zona)
## # A tibble: 1 × 4
## df1 df2 statistic p
## <int> <int> <dbl> <dbl>
## 1 3 95 3.55 0.0173
ANCOVA and
Pairwise for two factors grupo:Cor.Raca
Without remove non-normal
data
pdat = remove_group_data(dat[!is.na(dat[["grupo"]]) & !is.na(dat[["Cor.Raca"]]),],
"TFL.corretas.per.min.pos", c("grupo","Cor.Raca"))
## Warning: There were 2 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning:
## ! There was 1 warning in `mutate()`.
## ℹ In argument: `ci = abs(stats::qt(alpha/2, .data$n - 1) * .data$se)`.
## Caused by warning in `stats::qt()`:
## ! NaNs produced
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
pdat = pdat[pdat[["Cor.Raca"]] %in% do.call(
intersect, lapply(unique(pdat[["grupo"]]), FUN = function(x) {
unique(pdat[["Cor.Raca"]][which(pdat[["grupo"]] == x)])
})),]
pdat[["grupo"]] = factor(pdat[["grupo"]], level[["grupo"]])
pdat[["Cor.Raca"]] = factor(
pdat[["Cor.Raca"]],
level[["Cor.Raca"]][level[["Cor.Raca"]] %in% unique(pdat[["Cor.Raca"]])])
pdat.long <- rbind(pdat[,c("id","grupo","Cor.Raca")], pdat[,c("id","grupo","Cor.Raca")])
pdat.long[["time"]] <- c(rep("pre", nrow(pdat)), rep("pos", nrow(pdat)))
pdat.long[["time"]] <- factor(pdat.long[["time"]], c("pre","pos"))
pdat.long[["TFL.corretas.per.min"]] <- c(pdat[["TFL.corretas.per.min.pre"]], pdat[["TFL.corretas.per.min.pos"]])
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
aov = anova_test(pdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Cor.Raca)
laov[["grupo:Cor.Raca"]] <- get_anova_table(aov)
}
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
pwcs <- list()
pwcs[["Cor.Raca"]] <- emmeans_test(
group_by(pdat, grupo), TFL.corretas.per.min.pos ~ Cor.Raca,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(pdat, Cor.Raca), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["Cor.Raca"]])
pwc <- pwc[,c("grupo","Cor.Raca", colnames(pwc)[!colnames(pwc) %in% c("grupo","Cor.Raca")])]
}
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(pdat.long, c("grupo","Cor.Raca")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:Cor.Raca"]] <- plyr::rbind.fill(pwc, pwc.long)
}
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
ds <- get.descriptives(pdat, "TFL.corretas.per.min.pos", c("grupo","Cor.Raca"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","Cor.Raca"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","Cor.Raca"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","Cor.Raca","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre","mean","se",
"emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","Cor.Raca", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:Cor.Raca"]] <- ds
}
Computing
ANCOVA and PairWise After removing non-normal data (OK)
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
wdat = pdat
res = residuals(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Cor.Raca, data = wdat))
non.normal = getNonNormal(res, wdat$id, plimit = 0.05)
wdat = wdat[!wdat$id %in% non.normal,]
wdat.long <- rbind(wdat[,c("id","grupo","Cor.Raca")], wdat[,c("id","grupo","Cor.Raca")])
wdat.long[["time"]] <- c(rep("pre", nrow(wdat)), rep("pos", nrow(wdat)))
wdat.long[["time"]] <- factor(wdat.long[["time"]], c("pre","pos"))
wdat.long[["TFL.corretas.per.min"]] <- c(wdat[["TFL.corretas.per.min.pre"]], wdat[["TFL.corretas.per.min.pos"]])
ldat[["grupo:Cor.Raca"]] = wdat
(non.normal)
}
## [1] "P510" "P623" "P1728"
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
aov = anova_test(wdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Cor.Raca)
laov[["grupo:Cor.Raca"]] <- merge(get_anova_table(aov), laov[["grupo:Cor.Raca"]],
by="Effect", suffixes = c("","'"))
df = get_anova_table(aov)
}
| TFL.corretas.per.min.pre |
1 |
66 |
58.124 |
0.000 |
* |
0.468 |
| grupo |
1 |
66 |
3.567 |
0.063 |
|
0.051 |
| Cor.Raca |
1 |
66 |
6.843 |
0.011 |
* |
0.094 |
| grupo:Cor.Raca |
1 |
66 |
0.365 |
0.548 |
|
0.005 |
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
pwcs <- list()
pwcs[["Cor.Raca"]] <- emmeans_test(
group_by(wdat, grupo), TFL.corretas.per.min.pos ~ Cor.Raca,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(wdat, Cor.Raca), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["Cor.Raca"]])
pwc <- pwc[,c("grupo","Cor.Raca", colnames(pwc)[!colnames(pwc) %in% c("grupo","Cor.Raca")])]
}
|
Parda |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
66 |
-1.351 |
0.181 |
0.181 |
ns |
|
Branca |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
66 |
-1.451 |
0.151 |
0.151 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*Cor.Raca |
TFL.corretas.per.min.pos |
Parda |
Branca |
66 |
-1.915 |
0.060 |
0.060 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*Cor.Raca |
TFL.corretas.per.min.pos |
Parda |
Branca |
66 |
-1.954 |
0.055 |
0.055 |
ns |
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(wdat.long, c("grupo","Cor.Raca")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:Cor.Raca"]] <- merge(plyr::rbind.fill(pwc, pwc.long),
lpwc[["grupo:Cor.Raca"]],
by=c("grupo","Cor.Raca","term",".y.","group1","group2"),
suffixes = c("","'"))
}
| Controle |
Parda |
time |
TFL.corretas.per.min |
pre |
pos |
134 |
-1.048 |
0.296 |
0.296 |
ns |
| Controle |
Branca |
time |
TFL.corretas.per.min |
pre |
pos |
134 |
-1.211 |
0.228 |
0.228 |
ns |
| Experimental |
Parda |
time |
TFL.corretas.per.min |
pre |
pos |
134 |
-1.683 |
0.095 |
0.095 |
ns |
| Experimental |
Branca |
time |
TFL.corretas.per.min |
pre |
pos |
134 |
-1.664 |
0.098 |
0.098 |
ns |
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
ds <- get.descriptives(wdat, "TFL.corretas.per.min.pos", c("grupo","Cor.Raca"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","Cor.Raca"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","Cor.Raca"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","Cor.Raca","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre",
"mean","se","emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","Cor.Raca", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:Cor.Raca"]] <- merge(ds, lemms[["grupo:Cor.Raca"]],
by=c("grupo","Cor.Raca"), suffixes = c("","'"))
}
| Controle |
Branca |
12 |
103.667 |
4.606 |
114.0 |
5.510 |
107.117 |
4.418 |
98.297 |
115.938 |
| Controle |
Parda |
38 |
90.974 |
3.848 |
96.0 |
3.471 |
97.395 |
2.437 |
92.529 |
102.261 |
| Experimental |
Branca |
5 |
103.400 |
5.591 |
125.4 |
8.310 |
118.691 |
6.757 |
105.200 |
132.182 |
| Experimental |
Parda |
16 |
87.062 |
5.173 |
99.5 |
4.798 |
103.446 |
3.781 |
95.897 |
110.994 |
Plots for ancova
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
ggPlotAoC2(pwcs, "grupo", "Cor.Raca", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:Cor.Raca"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["Cor.Raca"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
ggPlotAoC2(pwcs, "Cor.Raca", "grupo", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:Cor.Raca"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat, "TFL.corretas.per.min.pos", c("grupo","Cor.Raca"), aov, pwcs, covar = "TFL.corretas.per.min.pre",
theme = "classic", color = color[["grupo:Cor.Raca"]],
subtitle = which(aov$Effect == "grupo:Cor.Raca"))
}
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
plots[["grupo:Cor.Raca"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
ggplot2::scale_x_discrete(labels=c('pre', 'pos')) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}
## Warning: No shared levels found between `names(values)` of the manual scale and the data's colour values.

if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat.long, "TFL.corretas.per.min", c("grupo","Cor.Raca"), aov, pwc.long,
pre.post = "time",
theme = "classic", color = color$prepost)
}
if (length(unique(pdat[["Cor.Raca"]])) >= 2)
plots[["grupo:Cor.Raca"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)

Checking linearity
assumption
if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
facet.by = c("grupo","Cor.Raca"), add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"))
) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "grupo", facet.by = "Cor.Raca", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = grupo)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:Cor.Raca"))) +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Cor.Raca"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "Cor.Raca", facet.by = "grupo", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = Cor.Raca)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:Cor.Raca"))) +
ggplot2::scale_color_manual(values = color[["Cor.Raca"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

Checking normality and
homogeneity
if (length(unique(pdat[["Cor.Raca"]])) >= 2)
res <- augment(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Cor.Raca, data = wdat))
if (length(unique(pdat[["Cor.Raca"]])) >= 2)
shapiro_test(res$.resid)
## # A tibble: 1 × 3
## variable statistic p.value
## <chr> <dbl> <dbl>
## 1 res$.resid 0.982 0.383
if (length(unique(pdat[["Cor.Raca"]])) >= 2)
levene_test(res, .resid ~ grupo*Cor.Raca)
## # A tibble: 1 × 4
## df1 df2 statistic p
## <int> <int> <dbl> <dbl>
## 1 3 67 0.750 0.526
ANCOVA and
Pairwise for two factors grupo:Serie
Without remove non-normal
data
pdat = remove_group_data(dat[!is.na(dat[["grupo"]]) & !is.na(dat[["Serie"]]),],
"TFL.corretas.per.min.pos", c("grupo","Serie"))
pdat = pdat[pdat[["Serie"]] %in% do.call(
intersect, lapply(unique(pdat[["grupo"]]), FUN = function(x) {
unique(pdat[["Serie"]][which(pdat[["grupo"]] == x)])
})),]
pdat[["grupo"]] = factor(pdat[["grupo"]], level[["grupo"]])
pdat[["Serie"]] = factor(
pdat[["Serie"]],
level[["Serie"]][level[["Serie"]] %in% unique(pdat[["Serie"]])])
pdat.long <- rbind(pdat[,c("id","grupo","Serie")], pdat[,c("id","grupo","Serie")])
pdat.long[["time"]] <- c(rep("pre", nrow(pdat)), rep("pos", nrow(pdat)))
pdat.long[["time"]] <- factor(pdat.long[["time"]], c("pre","pos"))
pdat.long[["TFL.corretas.per.min"]] <- c(pdat[["TFL.corretas.per.min.pre"]], pdat[["TFL.corretas.per.min.pos"]])
if (length(unique(pdat[["Serie"]])) >= 2) {
aov = anova_test(pdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Serie)
laov[["grupo:Serie"]] <- get_anova_table(aov)
}
if (length(unique(pdat[["Serie"]])) >= 2) {
pwcs <- list()
pwcs[["Serie"]] <- emmeans_test(
group_by(pdat, grupo), TFL.corretas.per.min.pos ~ Serie,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(pdat, Serie), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["Serie"]])
pwc <- pwc[,c("grupo","Serie", colnames(pwc)[!colnames(pwc) %in% c("grupo","Serie")])]
}
if (length(unique(pdat[["Serie"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(pdat.long, c("grupo","Serie")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:Serie"]] <- plyr::rbind.fill(pwc, pwc.long)
}
if (length(unique(pdat[["Serie"]])) >= 2) {
ds <- get.descriptives(pdat, "TFL.corretas.per.min.pos", c("grupo","Serie"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","Serie"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","Serie"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","Serie","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre","mean","se",
"emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","Serie", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:Serie"]] <- ds
}
Computing
ANCOVA and PairWise After removing non-normal data (OK)
if (length(unique(pdat[["Serie"]])) >= 2) {
wdat = pdat
res = residuals(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Serie, data = wdat))
non.normal = getNonNormal(res, wdat$id, plimit = 0.05)
wdat = wdat[!wdat$id %in% non.normal,]
wdat.long <- rbind(wdat[,c("id","grupo","Serie")], wdat[,c("id","grupo","Serie")])
wdat.long[["time"]] <- c(rep("pre", nrow(wdat)), rep("pos", nrow(wdat)))
wdat.long[["time"]] <- factor(wdat.long[["time"]], c("pre","pos"))
wdat.long[["TFL.corretas.per.min"]] <- c(wdat[["TFL.corretas.per.min.pre"]], wdat[["TFL.corretas.per.min.pos"]])
ldat[["grupo:Serie"]] = wdat
(non.normal)
}
## [1] "P1010" "P3609" "P956" "P3721" "P3498" "P1109" "P808" "P3729" "P1017" "P628" "P621" "P1097" "P463" "P820" "P133"
## [16] "P128" "P1716" "P994" "P3516" "P3505" "P445" "P3581" "P942" "P3521" "P616" "P3627" "P3615" "P3504" "P997" "P446"
## [31] "P614" "P1089" "P3566" "P947" "P3492" "P829" "P465" "P184" "P625" "P3734" "P451" "P3606" "P618" "P3501" "P3624"
## [46] "P950" "P612" "P2210" "P1004" "P620" "P3558" "P1107" "P1000" "P816" "P3512" "P3495" "P3509" "P3565" "P448" "P615"
## [61] "P241" "P3524" "P521" "P3502" "P613" "P1084" "P3518" "P812" "P2239" "P626" "P3598" "P936" "P513" "P516" "P1742"
## [76] "P143" "P1091" "P459" "P515" "P3560" "P958" "P512" "P948" "P622" "P460" "P457" "P523" "P813" "P943" "P238"
## [91] "P522" "P464" "P449" "P2378" "P1743" "P1768" "P3569" "P510" "P121" "P176" "P3519" "P1728" "P3508" "P945"
if (length(unique(pdat[["Serie"]])) >= 2) {
aov = anova_test(wdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Serie)
laov[["grupo:Serie"]] <- merge(get_anova_table(aov), laov[["grupo:Serie"]],
by="Effect", suffixes = c("","'"))
df = get_anova_table(aov)
}
| TFL.corretas.per.min.pre |
1 |
30 |
109.483 |
0.000 |
* |
0.785 |
| grupo |
1 |
30 |
1.303 |
0.263 |
|
0.042 |
| Serie |
3 |
30 |
11.753 |
0.000 |
* |
0.540 |
| grupo:Serie |
3 |
30 |
7.184 |
0.001 |
* |
0.418 |
if (length(unique(pdat[["Serie"]])) >= 2) {
pwcs <- list()
pwcs[["Serie"]] <- emmeans_test(
group_by(wdat, grupo), TFL.corretas.per.min.pos ~ Serie,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(wdat, Serie), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["Serie"]])
pwc <- pwc[,c("grupo","Serie", colnames(pwc)[!colnames(pwc) %in% c("grupo","Serie")])]
}
|
6 ano |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
30 |
-3.450 |
0.002 |
0.002 |
** |
|
7 ano |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
30 |
0.449 |
0.657 |
0.657 |
ns |
|
8 ano |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
30 |
2.418 |
0.022 |
0.022 |
* |
|
9 ano |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
30 |
2.386 |
0.024 |
0.024 |
* |
| Controle |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
6 ano |
7 ano |
30 |
1.244 |
0.223 |
1.000 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
6 ano |
8 ano |
30 |
-4.332 |
0.000 |
0.001 |
*** |
| Controle |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
6 ano |
9 ano |
30 |
-4.191 |
0.000 |
0.001 |
** |
| Controle |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
7 ano |
8 ano |
30 |
-4.090 |
0.000 |
0.002 |
** |
| Controle |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
7 ano |
9 ano |
30 |
-3.938 |
0.000 |
0.003 |
** |
| Controle |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
8 ano |
9 ano |
30 |
0.369 |
0.714 |
1.000 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
6 ano |
7 ano |
30 |
4.539 |
0.000 |
0.001 |
*** |
| Experimental |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
6 ano |
8 ano |
30 |
2.319 |
0.027 |
0.164 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
6 ano |
9 ano |
30 |
2.477 |
0.019 |
0.115 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
7 ano |
8 ano |
30 |
-2.805 |
0.009 |
0.052 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
7 ano |
9 ano |
30 |
-2.306 |
0.028 |
0.169 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*Serie |
TFL.corretas.per.min.pos |
8 ano |
9 ano |
30 |
0.339 |
0.737 |
1.000 |
ns |
if (length(unique(pdat[["Serie"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(wdat.long, c("grupo","Serie")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:Serie"]] <- merge(plyr::rbind.fill(pwc, pwc.long),
lpwc[["grupo:Serie"]],
by=c("grupo","Serie","term",".y.","group1","group2"),
suffixes = c("","'"))
}
| Controle |
6 ano |
time |
TFL.corretas.per.min |
pre |
pos |
62 |
-3.569 |
0.001 |
0.001 |
*** |
| Controle |
7 ano |
time |
TFL.corretas.per.min |
pre |
pos |
62 |
-1.634 |
0.107 |
0.107 |
ns |
| Controle |
8 ano |
time |
TFL.corretas.per.min |
pre |
pos |
62 |
-5.635 |
0.000 |
0.000 |
**** |
| Controle |
9 ano |
time |
TFL.corretas.per.min |
pre |
pos |
62 |
-6.046 |
0.000 |
0.000 |
**** |
| Experimental |
6 ano |
time |
TFL.corretas.per.min |
pre |
pos |
62 |
-3.078 |
0.003 |
0.003 |
** |
| Experimental |
7 ano |
time |
TFL.corretas.per.min |
pre |
pos |
62 |
-1.373 |
0.175 |
0.175 |
ns |
| Experimental |
8 ano |
time |
TFL.corretas.per.min |
pre |
pos |
62 |
-2.729 |
0.008 |
0.008 |
** |
| Experimental |
9 ano |
time |
TFL.corretas.per.min |
pre |
pos |
62 |
-2.204 |
0.031 |
0.031 |
* |
if (length(unique(pdat[["Serie"]])) >= 2) {
ds <- get.descriptives(wdat, "TFL.corretas.per.min.pos", c("grupo","Serie"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","Serie"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","Serie"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","Serie","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre",
"mean","se","emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","Serie", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:Serie"]] <- merge(ds, lemms[["grupo:Serie"]],
by=c("grupo","Serie"), suffixes = c("","'"))
}
| Controle |
6 ano |
7 |
85.429 |
12.656 |
125.714 |
8.662 |
128.623 |
3.234 |
122.018 |
135.228 |
| Controle |
7 ano |
2 |
77.000 |
20.000 |
111.500 |
13.500 |
120.090 |
6.084 |
107.666 |
132.515 |
| Controle |
8 ano |
8 |
85.125 |
8.649 |
144.625 |
6.732 |
147.738 |
3.029 |
141.553 |
153.924 |
| Controle |
9 ano |
10 |
87.900 |
6.747 |
145.000 |
5.615 |
146.243 |
2.698 |
140.732 |
151.754 |
| Experimental |
6 ano |
2 |
82.000 |
14.000 |
147.000 |
3.000 |
152.220 |
6.049 |
139.867 |
164.573 |
| Experimental |
7 ano |
3 |
99.333 |
8.950 |
123.000 |
8.021 |
116.536 |
4.961 |
106.405 |
126.666 |
| Experimental |
8 ano |
4 |
103.000 |
6.403 |
143.750 |
7.962 |
134.814 |
4.347 |
125.936 |
143.692 |
| Experimental |
9 ano |
3 |
104.667 |
7.446 |
142.667 |
3.667 |
132.607 |
5.015 |
122.365 |
142.849 |
Plots for ancova
if (length(unique(pdat[["Serie"]])) >= 2) {
ggPlotAoC2(pwcs, "grupo", "Serie", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:Serie"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["Serie"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["Serie"]])) >= 2) {
ggPlotAoC2(pwcs, "Serie", "grupo", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:Serie"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["Serie"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat, "TFL.corretas.per.min.pos", c("grupo","Serie"), aov, pwcs, covar = "TFL.corretas.per.min.pre",
theme = "classic", color = color[["grupo:Serie"]],
subtitle = which(aov$Effect == "grupo:Serie"))
}
if (length(unique(pdat[["Serie"]])) >= 2) {
plots[["grupo:Serie"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
ggplot2::scale_x_discrete(labels=c('pre', 'pos')) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Serie"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat.long, "TFL.corretas.per.min", c("grupo","Serie"), aov, pwc.long,
pre.post = "time",
theme = "classic", color = color$prepost)
}
if (length(unique(pdat[["Serie"]])) >= 2)
plots[["grupo:Serie"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)

Checking linearity
assumption
if (length(unique(pdat[["Serie"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
facet.by = c("grupo","Serie"), add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"))
) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Serie"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "grupo", facet.by = "Serie", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = grupo)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:Serie"))) +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["Serie"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "Serie", facet.by = "grupo", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = Serie)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:Serie"))) +
ggplot2::scale_color_manual(values = color[["Serie"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

Checking normality and
homogeneity
if (length(unique(pdat[["Serie"]])) >= 2)
res <- augment(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*Serie, data = wdat))
if (length(unique(pdat[["Serie"]])) >= 2)
shapiro_test(res$.resid)
## # A tibble: 1 × 3
## variable statistic p.value
## <chr> <dbl> <dbl>
## 1 res$.resid 0.967 0.309
if (length(unique(pdat[["Serie"]])) >= 2)
levene_test(res, .resid ~ grupo*Serie)
## # A tibble: 1 × 4
## df1 df2 statistic p
## <int> <int> <dbl> <dbl>
## 1 7 31 2.34 0.0489
ANCOVA
and Pairwise for two factors
grupo:TFL.corretas.per.min.quintile
Without remove non-normal
data
pdat = remove_group_data(dat[!is.na(dat[["grupo"]]) & !is.na(dat[["TFL.corretas.per.min.quintile"]]),],
"TFL.corretas.per.min.pos", c("grupo","TFL.corretas.per.min.quintile"))
pdat = pdat[pdat[["TFL.corretas.per.min.quintile"]] %in% do.call(
intersect, lapply(unique(pdat[["grupo"]]), FUN = function(x) {
unique(pdat[["TFL.corretas.per.min.quintile"]][which(pdat[["grupo"]] == x)])
})),]
pdat[["grupo"]] = factor(pdat[["grupo"]], level[["grupo"]])
pdat[["TFL.corretas.per.min.quintile"]] = factor(
pdat[["TFL.corretas.per.min.quintile"]],
level[["TFL.corretas.per.min.quintile"]][level[["TFL.corretas.per.min.quintile"]] %in% unique(pdat[["TFL.corretas.per.min.quintile"]])])
pdat.long <- rbind(pdat[,c("id","grupo","TFL.corretas.per.min.quintile")], pdat[,c("id","grupo","TFL.corretas.per.min.quintile")])
pdat.long[["time"]] <- c(rep("pre", nrow(pdat)), rep("pos", nrow(pdat)))
pdat.long[["time"]] <- factor(pdat.long[["time"]], c("pre","pos"))
pdat.long[["TFL.corretas.per.min"]] <- c(pdat[["TFL.corretas.per.min.pre"]], pdat[["TFL.corretas.per.min.pos"]])
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
aov = anova_test(pdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*TFL.corretas.per.min.quintile)
laov[["grupo:TFL.corretas.per.min.quintile"]] <- get_anova_table(aov)
}
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
pwcs <- list()
pwcs[["TFL.corretas.per.min.quintile"]] <- emmeans_test(
group_by(pdat, grupo), TFL.corretas.per.min.pos ~ TFL.corretas.per.min.quintile,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(pdat, TFL.corretas.per.min.quintile), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["TFL.corretas.per.min.quintile"]])
pwc <- pwc[,c("grupo","TFL.corretas.per.min.quintile", colnames(pwc)[!colnames(pwc) %in% c("grupo","TFL.corretas.per.min.quintile")])]
}
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(pdat.long, c("grupo","TFL.corretas.per.min.quintile")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:TFL.corretas.per.min.quintile"]] <- plyr::rbind.fill(pwc, pwc.long)
}
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
ds <- get.descriptives(pdat, "TFL.corretas.per.min.pos", c("grupo","TFL.corretas.per.min.quintile"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","TFL.corretas.per.min.quintile"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","TFL.corretas.per.min.quintile"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","TFL.corretas.per.min.quintile","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre","mean","se",
"emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","TFL.corretas.per.min.quintile", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:TFL.corretas.per.min.quintile"]] <- ds
}
Computing
ANCOVA and PairWise After removing non-normal data (OK)
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
wdat = pdat
res = residuals(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*TFL.corretas.per.min.quintile, data = wdat))
non.normal = getNonNormal(res, wdat$id, plimit = 0.05)
wdat = wdat[!wdat$id %in% non.normal,]
wdat.long <- rbind(wdat[,c("id","grupo","TFL.corretas.per.min.quintile")], wdat[,c("id","grupo","TFL.corretas.per.min.quintile")])
wdat.long[["time"]] <- c(rep("pre", nrow(wdat)), rep("pos", nrow(wdat)))
wdat.long[["time"]] <- factor(wdat.long[["time"]], c("pre","pos"))
wdat.long[["TFL.corretas.per.min"]] <- c(wdat[["TFL.corretas.per.min.pre"]], wdat[["TFL.corretas.per.min.pos"]])
ldat[["grupo:TFL.corretas.per.min.quintile"]] = wdat
(non.normal)
}
## [1] "P3516" "P2378" "P1010" "P1768" "P2294" "P2250" "P510" "P1698" "P808" "P1743" "P121" "P2408" "P2404" "P2240" "P2380"
## [16] "P2385" "P2211" "P2376" "P1699" "P2390" "P1762" "P2377" "P2214" "P2220" "P2209" "P1713" "P2247" "P2244" "P945" "P463"
## [31] "P623" "P2222" "P2401" "P2383" "P2249"
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
aov = anova_test(wdat, TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*TFL.corretas.per.min.quintile)
laov[["grupo:TFL.corretas.per.min.quintile"]] <- merge(get_anova_table(aov), laov[["grupo:TFL.corretas.per.min.quintile"]],
by="Effect", suffixes = c("","'"))
df = get_anova_table(aov)
}
| TFL.corretas.per.min.pre |
1 |
97 |
18.514 |
0.000 |
* |
0.160 |
| grupo |
1 |
97 |
3.717 |
0.057 |
|
0.037 |
| TFL.corretas.per.min.quintile |
4 |
97 |
4.324 |
0.003 |
* |
0.151 |
| grupo:TFL.corretas.per.min.quintile |
4 |
97 |
3.059 |
0.020 |
* |
0.112 |
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
pwcs <- list()
pwcs[["TFL.corretas.per.min.quintile"]] <- emmeans_test(
group_by(wdat, grupo), TFL.corretas.per.min.pos ~ TFL.corretas.per.min.quintile,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwcs[["grupo"]] <- emmeans_test(
group_by(wdat, TFL.corretas.per.min.quintile), TFL.corretas.per.min.pos ~ grupo,
covariate = TFL.corretas.per.min.pre, p.adjust.method = "bonferroni")
pwc <- plyr::rbind.fill(pwcs[["grupo"]], pwcs[["TFL.corretas.per.min.quintile"]])
pwc <- pwc[,c("grupo","TFL.corretas.per.min.quintile", colnames(pwc)[!colnames(pwc) %in% c("grupo","TFL.corretas.per.min.quintile")])]
}
|
1st quintile |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
97 |
0.582 |
0.562 |
0.562 |
ns |
|
2nd quintile |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
97 |
0.159 |
0.874 |
0.874 |
ns |
|
3rd quintile |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
97 |
-2.721 |
0.008 |
0.008 |
** |
|
4th quintile |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
97 |
0.888 |
0.377 |
0.377 |
ns |
|
5th quintile |
TFL.corretas.per.min.pre*grupo |
TFL.corretas.per.min.pos |
Controle |
Experimental |
97 |
-2.732 |
0.007 |
0.007 |
** |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
1st quintile |
2nd quintile |
97 |
2.281 |
0.025 |
0.247 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
1st quintile |
3rd quintile |
97 |
2.168 |
0.033 |
0.326 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
1st quintile |
4th quintile |
97 |
0.469 |
0.640 |
1.000 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
1st quintile |
5th quintile |
97 |
1.207 |
0.231 |
1.000 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
2nd quintile |
3rd quintile |
97 |
0.517 |
0.606 |
1.000 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
2nd quintile |
4th quintile |
97 |
-1.769 |
0.080 |
0.801 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
2nd quintile |
5th quintile |
97 |
0.057 |
0.954 |
1.000 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
3rd quintile |
4th quintile |
97 |
-2.781 |
0.007 |
0.065 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
3rd quintile |
5th quintile |
97 |
-0.318 |
0.751 |
1.000 |
ns |
| Controle |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
4th quintile |
5th quintile |
97 |
2.000 |
0.048 |
0.483 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
1st quintile |
2nd quintile |
97 |
1.709 |
0.091 |
0.907 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
1st quintile |
3rd quintile |
97 |
0.152 |
0.879 |
1.000 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
1st quintile |
4th quintile |
97 |
0.553 |
0.581 |
1.000 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
1st quintile |
5th quintile |
97 |
-0.153 |
0.879 |
1.000 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
2nd quintile |
3rd quintile |
97 |
-2.059 |
0.042 |
0.422 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
2nd quintile |
4th quintile |
97 |
-0.998 |
0.321 |
1.000 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
2nd quintile |
5th quintile |
97 |
-1.617 |
0.109 |
1.000 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
3rd quintile |
4th quintile |
97 |
0.729 |
0.468 |
1.000 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
3rd quintile |
5th quintile |
97 |
-0.443 |
0.659 |
1.000 |
ns |
| Experimental |
|
TFL.corretas.per.min.pre*TFL.corretas.per.min.quintile |
TFL.corretas.per.min.pos |
4th quintile |
5th quintile |
97 |
-1.086 |
0.280 |
1.000 |
ns |
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
pwc.long <- emmeans_test(dplyr::group_by_at(wdat.long, c("grupo","TFL.corretas.per.min.quintile")),
TFL.corretas.per.min ~ time,
p.adjust.method = "bonferroni")
lpwc[["grupo:TFL.corretas.per.min.quintile"]] <- merge(plyr::rbind.fill(pwc, pwc.long),
lpwc[["grupo:TFL.corretas.per.min.quintile"]],
by=c("grupo","TFL.corretas.per.min.quintile","term",".y.","group1","group2"),
suffixes = c("","'"))
}
| Controle |
1st quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-7.042 |
0.000 |
0.000 |
**** |
| Controle |
2nd quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-2.113 |
0.036 |
0.036 |
* |
| Controle |
3rd quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-0.743 |
0.458 |
0.458 |
ns |
| Controle |
4th quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-4.091 |
0.000 |
0.000 |
**** |
| Controle |
5th quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
0.555 |
0.580 |
0.580 |
ns |
| Experimental |
1st quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-3.888 |
0.000 |
0.000 |
*** |
| Experimental |
2nd quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-1.805 |
0.073 |
0.073 |
ns |
| Experimental |
3rd quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-4.084 |
0.000 |
0.000 |
**** |
| Experimental |
4th quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-1.815 |
0.071 |
0.071 |
ns |
| Experimental |
5th quintile |
time |
TFL.corretas.per.min |
pre |
pos |
196 |
-2.660 |
0.008 |
0.008 |
** |
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
ds <- get.descriptives(wdat, "TFL.corretas.per.min.pos", c("grupo","TFL.corretas.per.min.quintile"), covar = "TFL.corretas.per.min.pre")
ds <- merge(ds[ds$variable != "TFL.corretas.per.min.pre",],
ds[ds$variable == "TFL.corretas.per.min.pre", !colnames(ds) %in% c("variable")],
by = c("grupo","TFL.corretas.per.min.quintile"), all.x = T, suffixes = c("", ".TFL.corretas.per.min.pre"))
ds <- merge(get_emmeans(pwcs[["grupo"]]), ds,
by = c("grupo","TFL.corretas.per.min.quintile"), suffixes = c(".emms", ""))
ds <- ds[,c("grupo","TFL.corretas.per.min.quintile","n","mean.TFL.corretas.per.min.pre","se.TFL.corretas.per.min.pre",
"mean","se","emmean","se.emms","conf.low","conf.high")]
colnames(ds) <- c("grupo","TFL.corretas.per.min.quintile", "N", paste0(c("M","SE")," (pre)"),
paste0(c("M","SE"), " (unadj)"),
paste0(c("M", "SE"), " (adj)"), "conf.low", "conf.high")
lemms[["grupo:TFL.corretas.per.min.quintile"]] <- merge(ds, lemms[["grupo:TFL.corretas.per.min.quintile"]],
by=c("grupo","TFL.corretas.per.min.quintile"), suffixes = c("","'"))
}
| Controle |
1st quintile |
11 |
50.000 |
3.382 |
82.727 |
5.360 |
114.071 |
8.208 |
97.781 |
130.362 |
| Controle |
2nd quintile |
11 |
77.000 |
1.763 |
86.818 |
2.866 |
97.765 |
4.558 |
88.718 |
106.812 |
| Controle |
3rd quintile |
11 |
90.636 |
0.704 |
94.091 |
3.288 |
94.736 |
3.785 |
87.223 |
102.249 |
| Controle |
4th quintile |
17 |
101.588 |
1.064 |
116.882 |
3.662 |
109.254 |
3.521 |
102.265 |
116.243 |
| Controle |
5th quintile |
14 |
124.214 |
3.285 |
121.929 |
4.734 |
97.208 |
6.652 |
84.005 |
110.410 |
| Experimental |
1st quintile |
5 |
57.800 |
3.367 |
84.600 |
6.392 |
110.052 |
8.152 |
93.871 |
126.232 |
| Experimental |
2nd quintile |
10 |
77.600 |
1.360 |
86.400 |
2.876 |
96.894 |
4.657 |
87.651 |
106.136 |
| Experimental |
3rd quintile |
13 |
90.538 |
0.773 |
108.000 |
3.111 |
108.719 |
3.483 |
101.806 |
115.633 |
| Experimental |
4th quintile |
7 |
100.429 |
2.114 |
111.000 |
5.345 |
104.248 |
4.994 |
94.335 |
114.160 |
| Experimental |
5th quintile |
9 |
119.556 |
2.646 |
133.222 |
3.589 |
112.021 |
6.463 |
99.194 |
124.847 |
Plots for ancova
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
ggPlotAoC2(pwcs, "grupo", "TFL.corretas.per.min.quintile", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:TFL.corretas.per.min.quintile"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["TFL.corretas.per.min.quintile"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
ggPlotAoC2(pwcs, "TFL.corretas.per.min.quintile", "grupo", aov, ylab = "Reading Correct Words (1 Min)",
subtitle = which(aov$Effect == "grupo:TFL.corretas.per.min.quintile"), addParam = "errorbar") +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin.ci < ymax.ci) ggplot2::ylim(ymin.ci, ymax.ci)
}
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat, "TFL.corretas.per.min.pos", c("grupo","TFL.corretas.per.min.quintile"), aov, pwcs, covar = "TFL.corretas.per.min.pre",
theme = "classic", color = color[["grupo:TFL.corretas.per.min.quintile"]],
subtitle = which(aov$Effect == "grupo:TFL.corretas.per.min.quintile"))
}
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
plots[["grupo:TFL.corretas.per.min.quintile"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
ggplot2::scale_x_discrete(labels=c('pre', 'pos')) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}
## Warning: No shared levels found between `names(values)` of the manual scale and the data's colour values.

if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
plots <- twoWayAncovaBoxPlots(
wdat.long, "TFL.corretas.per.min", c("grupo","TFL.corretas.per.min.quintile"), aov, pwc.long,
pre.post = "time",
theme = "classic", color = color$prepost)
}
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2)
plots[["grupo:TFL.corretas.per.min.quintile"]] + ggplot2::ylab("Reading Correct Words (1 Min)") +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)

Checking linearity
assumption
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
facet.by = c("grupo","TFL.corretas.per.min.quintile"), add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"))
) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "grupo", facet.by = "TFL.corretas.per.min.quintile", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = grupo)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:TFL.corretas.per.min.quintile"))) +
ggplot2::scale_color_manual(values = color[["grupo"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2) {
ggscatter(wdat, x = "TFL.corretas.per.min.pre", y = "TFL.corretas.per.min.pos", size = 0.5,
color = "TFL.corretas.per.min.quintile", facet.by = "grupo", add = "reg.line")+
stat_regline_equation(
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~~"), color = TFL.corretas.per.min.quintile)
) +
ggplot2::labs(subtitle = rstatix::get_test_label(aov, detailed = T, row = which(aov$Effect == "grupo:TFL.corretas.per.min.quintile"))) +
ggplot2::scale_color_manual(values = color[["TFL.corretas.per.min.quintile"]]) +
if (ymin < ymax) ggplot2::ylim(ymin, ymax)
}

Checking normality and
homogeneity
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2)
res <- augment(lm(TFL.corretas.per.min.pos ~ TFL.corretas.per.min.pre + grupo*TFL.corretas.per.min.quintile, data = wdat))
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2)
shapiro_test(res$.resid)
## # A tibble: 1 × 3
## variable statistic p.value
## <chr> <dbl> <dbl>
## 1 res$.resid 0.987 0.376
if (length(unique(pdat[["TFL.corretas.per.min.quintile"]])) >= 2)
levene_test(res, .resid ~ grupo*TFL.corretas.per.min.quintile)
## # A tibble: 1 × 4
## df1 df2 statistic p
## <int> <int> <dbl> <dbl>
## 1 9 98 0.804 0.613
Summary of Results
Descriptive Statistics
df <- get.descriptives(ldat[["grupo"]], c(dv.pre, dv.pos), c("grupo"),
include.global = T, symmetry.test = T, normality.test = F)
df <- plyr::rbind.fill(
df, do.call(plyr::rbind.fill, lapply(lfatores2, FUN = function(f) {
if (nrow(dat) > 0 && sum(!is.na(unique(dat[[f]]))) > 1 && paste0("grupo:",f) %in% names(ldat))
get.descriptives(ldat[[paste0("grupo:",f)]], c(dv.pre,dv.pos), c("grupo", f),
symmetry.test = T, normality.test = F)
}))
)
df <- df[,c(fatores1[fatores1 %in% colnames(df)],"variable",
colnames(df)[!colnames(df) %in% c(fatores1,"variable")])]
| Controle |
|
|
|
|
|
TFL.corretas.per.min.pre |
33 |
88.061 |
88.0 |
39 |
137 |
24.458 |
4.258 |
8.672 |
28.00 |
YES |
-0.256 |
-0.790 |
| Experimental |
|
|
|
|
|
TFL.corretas.per.min.pre |
19 |
94.263 |
94.0 |
57 |
119 |
19.835 |
4.550 |
9.560 |
23.50 |
NO |
-0.516 |
-1.039 |
|
|
|
|
|
|
TFL.corretas.per.min.pre |
52 |
90.327 |
92.0 |
39 |
137 |
22.875 |
3.172 |
6.369 |
30.75 |
YES |
-0.395 |
-0.680 |
| Controle |
|
|
|
|
|
TFL.corretas.per.min.pos |
33 |
139.909 |
136.0 |
98 |
184 |
20.711 |
3.605 |
7.344 |
20.00 |
YES |
0.075 |
-0.175 |
| Experimental |
|
|
|
|
|
TFL.corretas.per.min.pos |
19 |
138.632 |
139.0 |
94 |
190 |
25.020 |
5.740 |
12.059 |
27.50 |
YES |
0.205 |
-0.415 |
|
|
|
|
|
|
TFL.corretas.per.min.pos |
52 |
139.442 |
137.5 |
94 |
190 |
22.147 |
3.071 |
6.166 |
20.50 |
YES |
0.132 |
-0.098 |
| Controle |
F |
|
|
|
|
TFL.corretas.per.min.pre |
15 |
86.600 |
92.0 |
39 |
154 |
30.085 |
7.768 |
16.661 |
37.50 |
YES |
0.259 |
-0.453 |
| Controle |
M |
|
|
|
|
TFL.corretas.per.min.pre |
17 |
97.706 |
99.0 |
48 |
134 |
24.695 |
5.989 |
12.697 |
25.00 |
NO |
-0.651 |
-0.749 |
| Experimental |
F |
|
|
|
|
TFL.corretas.per.min.pre |
8 |
99.875 |
91.5 |
88 |
119 |
13.799 |
4.879 |
11.536 |
24.25 |
YES |
0.431 |
-1.950 |
| Experimental |
M |
|
|
|
|
TFL.corretas.per.min.pre |
19 |
89.158 |
85.0 |
51 |
134 |
22.054 |
5.059 |
10.630 |
23.50 |
YES |
0.195 |
-0.841 |
| Controle |
F |
|
|
|
|
TFL.corretas.per.min.pos |
15 |
112.000 |
115.0 |
87 |
147 |
16.018 |
4.136 |
8.870 |
20.50 |
YES |
0.287 |
-0.647 |
| Controle |
M |
|
|
|
|
TFL.corretas.per.min.pos |
17 |
111.706 |
116.0 |
74 |
136 |
17.779 |
4.312 |
9.141 |
20.00 |
NO |
-0.585 |
-0.827 |
| Experimental |
F |
|
|
|
|
TFL.corretas.per.min.pos |
8 |
125.000 |
115.5 |
114 |
150 |
14.580 |
5.155 |
12.189 |
22.75 |
NO |
0.593 |
-1.601 |
| Experimental |
M |
|
|
|
|
TFL.corretas.per.min.pos |
19 |
104.053 |
104.0 |
73 |
134 |
14.782 |
3.391 |
7.125 |
17.50 |
YES |
0.157 |
-0.392 |
| Controle |
|
Rural |
|
|
|
TFL.corretas.per.min.pre |
54 |
91.111 |
92.5 |
23 |
154 |
26.515 |
3.608 |
7.237 |
32.25 |
YES |
-0.279 |
-0.123 |
| Controle |
|
Urbana |
|
|
|
TFL.corretas.per.min.pre |
7 |
92.286 |
98.0 |
47 |
123 |
24.067 |
9.097 |
22.259 |
19.00 |
NO |
-0.614 |
-0.791 |
| Experimental |
|
Rural |
|
|
|
TFL.corretas.per.min.pre |
32 |
89.969 |
91.0 |
51 |
134 |
18.485 |
3.268 |
6.665 |
19.00 |
YES |
0.118 |
-0.233 |
| Experimental |
|
Urbana |
|
|
|
TFL.corretas.per.min.pre |
6 |
102.000 |
95.0 |
90 |
132 |
16.444 |
6.713 |
17.257 |
15.50 |
NO |
0.874 |
-1.037 |
| Controle |
|
Rural |
|
|
|
TFL.corretas.per.min.pos |
54 |
101.259 |
101.0 |
42 |
147 |
21.712 |
2.955 |
5.926 |
30.00 |
YES |
-0.231 |
-0.391 |
| Controle |
|
Urbana |
|
|
|
TFL.corretas.per.min.pos |
7 |
142.429 |
149.0 |
87 |
176 |
28.553 |
10.792 |
26.407 |
22.50 |
NO |
-0.751 |
-0.649 |
| Experimental |
|
Rural |
|
|
|
TFL.corretas.per.min.pos |
32 |
103.594 |
100.5 |
70 |
139 |
17.186 |
3.038 |
6.196 |
20.25 |
YES |
0.239 |
-0.434 |
| Experimental |
|
Urbana |
|
|
|
TFL.corretas.per.min.pos |
6 |
132.000 |
122.0 |
94 |
190 |
33.923 |
13.849 |
35.600 |
30.50 |
NO |
0.578 |
-1.276 |
| Controle |
|
|
Parda |
|
|
TFL.corretas.per.min.pre |
38 |
90.974 |
92.5 |
23 |
134 |
23.723 |
3.848 |
7.798 |
32.00 |
NO |
-0.535 |
0.131 |
| Controle |
|
|
Branca |
|
|
TFL.corretas.per.min.pre |
12 |
103.667 |
102.5 |
83 |
137 |
15.956 |
4.606 |
10.138 |
24.25 |
NO |
0.541 |
-0.868 |
| Experimental |
|
|
Parda |
|
|
TFL.corretas.per.min.pre |
16 |
87.062 |
83.0 |
51 |
134 |
20.693 |
5.173 |
11.026 |
17.50 |
NO |
0.529 |
-0.235 |
| Experimental |
|
|
Branca |
|
|
TFL.corretas.per.min.pre |
5 |
103.400 |
96.0 |
92 |
117 |
12.502 |
5.591 |
15.523 |
22.00 |
YES |
0.261 |
-2.236 |
| Controle |
|
|
Parda |
|
|
TFL.corretas.per.min.pos |
38 |
96.000 |
91.0 |
42 |
136 |
21.400 |
3.471 |
7.034 |
27.00 |
YES |
-0.090 |
-0.406 |
| Controle |
|
|
Branca |
|
|
TFL.corretas.per.min.pos |
12 |
114.000 |
114.5 |
83 |
150 |
19.088 |
5.510 |
12.128 |
18.25 |
YES |
0.086 |
-0.908 |
| Experimental |
|
|
Parda |
|
|
TFL.corretas.per.min.pos |
16 |
99.500 |
96.5 |
70 |
144 |
19.190 |
4.798 |
10.226 |
12.00 |
NO |
0.735 |
0.103 |
| Experimental |
|
|
Branca |
|
|
TFL.corretas.per.min.pos |
5 |
125.400 |
121.0 |
108 |
150 |
18.582 |
8.310 |
23.073 |
30.00 |
YES |
0.238 |
-2.053 |
| Controle |
|
|
|
6 ano |
|
TFL.corretas.per.min.pre |
7 |
85.429 |
88.0 |
39 |
137 |
33.486 |
12.656 |
30.969 |
33.00 |
YES |
-0.051 |
-1.410 |
| Controle |
|
|
|
7 ano |
|
TFL.corretas.per.min.pre |
2 |
77.000 |
77.0 |
57 |
97 |
28.284 |
20.000 |
254.124 |
20.00 |
few data |
0.000 |
0.000 |
| Controle |
|
|
|
8 ano |
|
TFL.corretas.per.min.pre |
8 |
85.125 |
83.5 |
52 |
123 |
24.462 |
8.649 |
20.451 |
28.25 |
YES |
0.037 |
-1.468 |
| Controle |
|
|
|
9 ano |
|
TFL.corretas.per.min.pre |
10 |
87.900 |
88.5 |
45 |
115 |
21.336 |
6.747 |
15.263 |
25.50 |
NO |
-0.551 |
-0.856 |
| Experimental |
|
|
|
6 ano |
|
TFL.corretas.per.min.pre |
2 |
82.000 |
82.0 |
68 |
96 |
19.799 |
14.000 |
177.887 |
14.00 |
few data |
0.000 |
0.000 |
| Experimental |
|
|
|
7 ano |
|
TFL.corretas.per.min.pre |
3 |
99.333 |
93.0 |
88 |
117 |
15.503 |
8.950 |
38.511 |
14.50 |
few data |
0.000 |
0.000 |
| Experimental |
|
|
|
8 ano |
|
TFL.corretas.per.min.pre |
4 |
103.000 |
102.0 |
92 |
116 |
12.806 |
6.403 |
20.378 |
21.00 |
few data |
0.000 |
0.000 |
| Experimental |
|
|
|
9 ano |
|
TFL.corretas.per.min.pre |
3 |
104.667 |
101.0 |
94 |
119 |
12.897 |
7.446 |
32.038 |
12.50 |
few data |
0.000 |
0.000 |
| Controle |
|
|
|
6 ano |
|
TFL.corretas.per.min.pos |
7 |
125.714 |
135.0 |
87 |
156 |
22.918 |
8.662 |
21.196 |
19.00 |
YES |
-0.452 |
-1.274 |
| Controle |
|
|
|
7 ano |
|
TFL.corretas.per.min.pos |
2 |
111.500 |
111.5 |
98 |
125 |
19.092 |
13.500 |
171.534 |
13.50 |
few data |
0.000 |
0.000 |
| Controle |
|
|
|
8 ano |
|
TFL.corretas.per.min.pos |
8 |
144.625 |
135.0 |
126 |
176 |
19.041 |
6.732 |
15.919 |
20.75 |
NO |
0.671 |
-1.436 |
| Controle |
|
|
|
9 ano |
|
TFL.corretas.per.min.pos |
10 |
145.000 |
139.0 |
115 |
176 |
17.758 |
5.615 |
12.703 |
21.75 |
YES |
0.210 |
-1.015 |
| Experimental |
|
|
|
6 ano |
|
TFL.corretas.per.min.pos |
2 |
147.000 |
147.0 |
144 |
150 |
4.243 |
3.000 |
38.119 |
3.00 |
few data |
0.000 |
0.000 |
| Experimental |
|
|
|
7 ano |
|
TFL.corretas.per.min.pos |
3 |
123.000 |
116.0 |
114 |
139 |
13.892 |
8.021 |
34.511 |
12.50 |
few data |
0.000 |
0.000 |
| Experimental |
|
|
|
8 ano |
|
TFL.corretas.per.min.pos |
4 |
143.750 |
139.5 |
130 |
166 |
15.924 |
7.962 |
25.339 |
15.75 |
YES |
0.480 |
-1.885 |
| Experimental |
|
|
|
9 ano |
|
TFL.corretas.per.min.pos |
3 |
142.667 |
139.0 |
139 |
150 |
6.351 |
3.667 |
15.776 |
5.50 |
few data |
0.000 |
0.000 |
| Controle |
|
|
|
|
1st quintile |
TFL.corretas.per.min.pre |
11 |
50.000 |
52.0 |
23 |
64 |
11.216 |
3.382 |
7.535 |
9.00 |
NO |
-1.077 |
0.437 |
| Controle |
|
|
|
|
2nd quintile |
TFL.corretas.per.min.pre |
11 |
77.000 |
80.0 |
68 |
83 |
5.848 |
1.763 |
3.929 |
9.00 |
NO |
-0.505 |
-1.585 |
| Controle |
|
|
|
|
3rd quintile |
TFL.corretas.per.min.pre |
11 |
90.636 |
91.0 |
87 |
94 |
2.335 |
0.704 |
1.569 |
3.00 |
YES |
-0.328 |
-1.369 |
| Controle |
|
|
|
|
4th quintile |
TFL.corretas.per.min.pre |
17 |
101.588 |
99.0 |
97 |
110 |
4.388 |
1.064 |
2.256 |
5.00 |
NO |
0.716 |
-0.937 |
| Controle |
|
|
|
|
5th quintile |
TFL.corretas.per.min.pre |
14 |
124.214 |
119.0 |
112 |
154 |
12.292 |
3.285 |
7.097 |
17.00 |
NO |
0.994 |
-0.153 |
| Experimental |
|
|
|
|
1st quintile |
TFL.corretas.per.min.pre |
5 |
57.800 |
57.0 |
50 |
66 |
7.530 |
3.367 |
9.350 |
14.00 |
YES |
0.063 |
-2.188 |
| Experimental |
|
|
|
|
2nd quintile |
TFL.corretas.per.min.pre |
10 |
77.600 |
78.5 |
68 |
84 |
4.300 |
1.360 |
3.076 |
3.75 |
NO |
-0.742 |
0.044 |
| Experimental |
|
|
|
|
3rd quintile |
TFL.corretas.per.min.pre |
13 |
90.538 |
90.0 |
85 |
94 |
2.787 |
0.773 |
1.684 |
4.00 |
YES |
-0.411 |
-1.070 |
| Experimental |
|
|
|
|
4th quintile |
TFL.corretas.per.min.pre |
7 |
100.429 |
98.0 |
95 |
109 |
5.593 |
2.114 |
5.173 |
7.50 |
YES |
0.461 |
-1.676 |
| Experimental |
|
|
|
|
5th quintile |
TFL.corretas.per.min.pre |
9 |
119.556 |
117.0 |
112 |
134 |
7.939 |
2.646 |
6.102 |
4.00 |
NO |
0.907 |
-0.953 |
| Controle |
|
|
|
|
1st quintile |
TFL.corretas.per.min.pos |
11 |
82.727 |
87.0 |
42 |
104 |
17.777 |
5.360 |
11.943 |
20.50 |
NO |
-0.902 |
-0.121 |
| Controle |
|
|
|
|
2nd quintile |
TFL.corretas.per.min.pos |
11 |
86.818 |
86.0 |
65 |
101 |
9.506 |
2.866 |
6.386 |
8.00 |
NO |
-0.695 |
0.129 |
| Controle |
|
|
|
|
3rd quintile |
TFL.corretas.per.min.pos |
11 |
94.091 |
90.0 |
81 |
112 |
10.904 |
3.288 |
7.325 |
13.00 |
NO |
0.602 |
-1.343 |
| Controle |
|
|
|
|
4th quintile |
TFL.corretas.per.min.pos |
17 |
116.882 |
117.0 |
90 |
151 |
15.099 |
3.662 |
7.763 |
15.00 |
YES |
0.088 |
-0.086 |
| Controle |
|
|
|
|
5th quintile |
TFL.corretas.per.min.pos |
14 |
121.929 |
120.0 |
90 |
156 |
17.713 |
4.734 |
10.227 |
19.25 |
YES |
0.160 |
-0.744 |
| Experimental |
|
|
|
|
1st quintile |
TFL.corretas.per.min.pos |
5 |
84.600 |
91.0 |
66 |
99 |
14.293 |
6.392 |
17.748 |
21.00 |
YES |
-0.268 |
-2.088 |
| Experimental |
|
|
|
|
2nd quintile |
TFL.corretas.per.min.pos |
10 |
86.400 |
85.5 |
70 |
99 |
9.095 |
2.876 |
6.506 |
13.00 |
YES |
-0.220 |
-1.326 |
| Experimental |
|
|
|
|
3rd quintile |
TFL.corretas.per.min.pos |
13 |
108.000 |
111.0 |
93 |
130 |
11.218 |
3.111 |
6.779 |
18.00 |
YES |
0.077 |
-1.055 |
| Experimental |
|
|
|
|
4th quintile |
TFL.corretas.per.min.pos |
7 |
111.000 |
109.0 |
94 |
139 |
14.142 |
5.345 |
13.079 |
9.50 |
NO |
0.820 |
-0.480 |
| Experimental |
|
|
|
|
5th quintile |
TFL.corretas.per.min.pos |
9 |
133.222 |
134.0 |
116 |
150 |
10.768 |
3.589 |
8.277 |
10.00 |
YES |
-0.077 |
-1.306 |
ANCOVA Table Comparison
df <- do.call(plyr::rbind.fill, laov)
df <- df[!duplicated(df$Effect),]
| 1 |
grupo |
1 |
49 |
1.106 |
0.298 |
|
0.022 |
1 |
140 |
0.020 |
0.888 |
|
0.000 |
| 2 |
TFL.corretas.per.min.pre |
1 |
49 |
36.320 |
0.000 |
* |
0.426 |
1 |
140 |
50.194 |
0.000 |
* |
0.264 |
| 4 |
grupo:Sexo |
1 |
54 |
3.690 |
0.060 |
|
0.064 |
1 |
138 |
0.075 |
0.784 |
|
0.001 |
| 5 |
Sexo |
1 |
54 |
26.602 |
0.000 |
* |
0.330 |
1 |
138 |
6.483 |
0.012 |
* |
0.045 |
| 8 |
grupo:Zona |
1 |
94 |
3.994 |
0.049 |
* |
0.041 |
1 |
101 |
2.270 |
0.135 |
|
0.022 |
| 10 |
Zona |
1 |
94 |
42.906 |
0.000 |
* |
0.313 |
1 |
101 |
17.714 |
0.000 |
* |
0.149 |
| 11 |
Cor.Raca |
1 |
66 |
6.843 |
0.011 |
* |
0.094 |
1 |
69 |
2.443 |
0.123 |
|
0.034 |
| 13 |
grupo:Cor.Raca |
1 |
66 |
0.365 |
0.548 |
|
0.005 |
1 |
69 |
0.721 |
0.399 |
|
0.010 |
| 16 |
grupo:Serie |
3 |
30 |
7.184 |
0.001 |
* |
0.418 |
3 |
134 |
2.275 |
0.083 |
|
0.048 |
| 17 |
Serie |
3 |
30 |
11.753 |
0.000 |
* |
0.540 |
3 |
134 |
2.212 |
0.090 |
|
0.047 |
| 20 |
grupo:TFL.corretas.per.min.quintile |
4 |
97 |
3.059 |
0.020 |
* |
0.112 |
4 |
132 |
0.603 |
0.661 |
|
0.018 |
| 22 |
TFL.corretas.per.min.quintile |
4 |
97 |
4.324 |
0.003 |
* |
0.151 |
4 |
132 |
1.851 |
0.123 |
|
0.053 |
PairWise Table Comparison
df <- do.call(plyr::rbind.fill, lpwc)
df <- df[,c(names(lfatores)[names(lfatores) %in% colnames(df)],
names(df)[!names(df) %in% c(names(lfatores),"term",".y.")])]
| Controle |
|
|
|
|
|
pre |
pos |
100 |
-9.306 |
0.000 |
0.000 |
**** |
282 |
-5.948 |
0.000 |
0.000 |
**** |
| Experimental |
|
|
|
|
|
pre |
pos |
100 |
-6.043 |
0.000 |
0.000 |
**** |
282 |
-4.302 |
0.000 |
0.000 |
**** |
|
|
|
|
|
|
Controle |
Experimental |
49 |
1.051 |
0.298 |
0.298 |
ns |
140 |
0.141 |
0.888 |
0.888 |
ns |
| Controle |
F |
|
|
|
|
pre |
pos |
110 |
-3.380 |
0.001 |
0.001 |
** |
278 |
-4.647 |
0.000 |
0.000 |
**** |
| Controle |
M |
|
|
|
|
pre |
pos |
110 |
-1.983 |
0.050 |
0.050 |
* |
278 |
-4.007 |
0.000 |
0.000 |
**** |
| Controle |
|
|
|
|
|
F |
M |
54 |
2.633 |
0.011 |
0.011 |
* |
138 |
1.862 |
0.065 |
0.065 |
ns |
| Experimental |
F |
|
|
|
|
pre |
pos |
110 |
-2.442 |
0.016 |
0.016 |
* |
278 |
-3.443 |
0.001 |
0.001 |
*** |
| Experimental |
M |
|
|
|
|
pre |
pos |
110 |
-2.231 |
0.028 |
0.028 |
* |
278 |
-2.815 |
0.005 |
0.005 |
** |
| Experimental |
|
|
|
|
|
F |
M |
54 |
4.769 |
0.000 |
0.000 |
**** |
138 |
1.773 |
0.078 |
0.078 |
ns |
|
F |
|
|
|
|
Controle |
Experimental |
54 |
-1.620 |
0.111 |
0.111 |
ns |
138 |
-0.104 |
0.918 |
0.918 |
ns |
|
M |
|
|
|
|
Controle |
Experimental |
54 |
1.078 |
0.286 |
0.286 |
ns |
138 |
0.305 |
0.761 |
0.761 |
ns |
| Controle |
|
|
|
|
|
Rural |
Urbana |
94 |
-6.213 |
0.000 |
0.000 |
**** |
101 |
-4.139 |
0.000 |
0.000 |
**** |
| Controle |
|
Rural |
|
|
|
pre |
pos |
190 |
-2.328 |
0.021 |
0.021 |
* |
204 |
-3.196 |
0.002 |
0.002 |
** |
| Controle |
|
Urbana |
|
|
|
pre |
pos |
190 |
-4.142 |
0.000 |
0.000 |
**** |
204 |
-3.804 |
0.000 |
0.000 |
*** |
| Experimental |
|
|
|
|
|
Rural |
Urbana |
94 |
-2.890 |
0.005 |
0.005 |
** |
101 |
-1.698 |
0.093 |
0.093 |
ns |
| Experimental |
|
Rural |
|
|
|
pre |
pos |
190 |
-2.406 |
0.017 |
0.017 |
* |
204 |
-3.266 |
0.001 |
0.001 |
** |
| Experimental |
|
Urbana |
|
|
|
pre |
pos |
190 |
-2.294 |
0.023 |
0.023 |
* |
204 |
-2.107 |
0.036 |
0.036 |
* |
|
|
Rural |
|
|
|
Controle |
Experimental |
94 |
-0.841 |
0.403 |
0.403 |
ns |
101 |
-0.869 |
0.387 |
0.387 |
ns |
|
|
Urbana |
|
|
|
Controle |
Experimental |
94 |
1.817 |
0.072 |
0.072 |
ns |
101 |
1.281 |
0.203 |
0.203 |
ns |
| Controle |
|
|
Branca |
|
|
pre |
pos |
134 |
-1.211 |
0.228 |
0.228 |
ns |
140 |
-1.116 |
0.266 |
0.266 |
ns |
| Controle |
|
|
|
|
|
Parda |
Branca |
66 |
-1.915 |
0.060 |
0.060 |
ns |
69 |
-0.892 |
0.376 |
0.376 |
ns |
| Controle |
|
|
Parda |
|
|
pre |
pos |
134 |
-1.048 |
0.296 |
0.296 |
ns |
140 |
-1.835 |
0.069 |
0.069 |
ns |
| Experimental |
|
|
Branca |
|
|
pre |
pos |
134 |
-1.664 |
0.098 |
0.098 |
ns |
140 |
-1.533 |
0.127 |
0.127 |
ns |
| Experimental |
|
|
|
|
|
Parda |
Branca |
66 |
-1.954 |
0.055 |
0.055 |
ns |
69 |
-1.570 |
0.121 |
0.121 |
ns |
| Experimental |
|
|
Parda |
|
|
pre |
pos |
134 |
-1.683 |
0.095 |
0.095 |
ns |
140 |
-1.551 |
0.123 |
0.123 |
ns |
|
|
|
Branca |
|
|
Controle |
Experimental |
66 |
-1.451 |
0.151 |
0.151 |
ns |
69 |
-1.172 |
0.245 |
0.245 |
ns |
|
|
|
Parda |
|
|
Controle |
Experimental |
66 |
-1.351 |
0.181 |
0.181 |
ns |
69 |
-0.361 |
0.719 |
0.719 |
ns |
| Controle |
|
|
|
6 ano |
|
pre |
pos |
62 |
-3.569 |
0.001 |
0.001 |
*** |
270 |
-2.157 |
0.032 |
0.032 |
* |
| Controle |
|
|
|
7 ano |
|
pre |
pos |
62 |
-1.634 |
0.107 |
0.107 |
ns |
270 |
-2.190 |
0.029 |
0.029 |
* |
| Controle |
|
|
|
8 ano |
|
pre |
pos |
62 |
-5.635 |
0.000 |
0.000 |
**** |
270 |
-3.708 |
0.000 |
0.000 |
*** |
| Controle |
|
|
|
9 ano |
|
pre |
pos |
62 |
-6.046 |
0.000 |
0.000 |
**** |
270 |
-4.172 |
0.000 |
0.000 |
**** |
| Controle |
|
|
|
|
|
6 ano |
7 ano |
30 |
1.244 |
0.223 |
1.000 |
ns |
134 |
-0.936 |
0.351 |
1.000 |
ns |
| Controle |
|
|
|
|
|
6 ano |
8 ano |
30 |
-4.332 |
0.000 |
0.001 |
*** |
134 |
-2.806 |
0.006 |
0.035 |
* |
| Controle |
|
|
|
|
|
6 ano |
9 ano |
30 |
-4.191 |
0.000 |
0.001 |
** |
134 |
-2.769 |
0.006 |
0.038 |
* |
| Controle |
|
|
|
|
|
7 ano |
8 ano |
30 |
-4.090 |
0.000 |
0.002 |
** |
134 |
-1.760 |
0.081 |
0.484 |
ns |
| Controle |
|
|
|
|
|
7 ano |
9 ano |
30 |
-3.938 |
0.000 |
0.003 |
** |
134 |
-1.550 |
0.123 |
0.741 |
ns |
| Controle |
|
|
|
|
|
8 ano |
9 ano |
30 |
0.369 |
0.714 |
1.000 |
ns |
134 |
0.419 |
0.676 |
1.000 |
ns |
| Experimental |
|
|
|
6 ano |
|
pre |
pos |
62 |
-3.078 |
0.003 |
0.003 |
** |
270 |
-3.288 |
0.001 |
0.001 |
** |
| Experimental |
|
|
|
7 ano |
|
pre |
pos |
62 |
-1.373 |
0.175 |
0.175 |
ns |
270 |
-1.293 |
0.197 |
0.197 |
ns |
| Experimental |
|
|
|
8 ano |
|
pre |
pos |
62 |
-2.729 |
0.008 |
0.008 |
** |
270 |
-2.072 |
0.039 |
0.039 |
* |
| Experimental |
|
|
|
9 ano |
|
pre |
pos |
62 |
-2.204 |
0.031 |
0.031 |
* |
270 |
-1.715 |
0.088 |
0.088 |
ns |
| Experimental |
|
|
|
|
|
6 ano |
7 ano |
30 |
4.539 |
0.000 |
0.001 |
*** |
134 |
1.294 |
0.198 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
6 ano |
8 ano |
30 |
2.319 |
0.027 |
0.164 |
ns |
134 |
0.647 |
0.519 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
6 ano |
9 ano |
30 |
2.477 |
0.019 |
0.115 |
ns |
134 |
0.339 |
0.735 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
7 ano |
8 ano |
30 |
-2.805 |
0.009 |
0.052 |
ns |
134 |
-0.629 |
0.530 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
7 ano |
9 ano |
30 |
-2.306 |
0.028 |
0.169 |
ns |
134 |
-0.816 |
0.416 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
8 ano |
9 ano |
30 |
0.339 |
0.737 |
1.000 |
ns |
134 |
-0.236 |
0.814 |
1.000 |
ns |
|
|
|
|
6 ano |
|
Controle |
Experimental |
30 |
-3.450 |
0.002 |
0.002 |
** |
134 |
-1.961 |
0.052 |
0.052 |
ns |
|
|
|
|
7 ano |
|
Controle |
Experimental |
30 |
0.449 |
0.657 |
0.657 |
ns |
134 |
0.509 |
0.612 |
0.612 |
ns |
|
|
|
|
8 ano |
|
Controle |
Experimental |
30 |
2.418 |
0.022 |
0.022 |
* |
134 |
1.436 |
0.153 |
0.153 |
ns |
|
|
|
|
9 ano |
|
Controle |
Experimental |
30 |
2.386 |
0.024 |
0.024 |
* |
134 |
0.819 |
0.414 |
0.414 |
ns |
| Controle |
|
|
|
|
1st quintile |
pre |
pos |
196 |
-7.042 |
0.000 |
0.000 |
**** |
266 |
-7.186 |
0.000 |
0.000 |
**** |
| Controle |
|
|
|
|
2nd quintile |
pre |
pos |
196 |
-2.113 |
0.036 |
0.036 |
* |
266 |
-3.254 |
0.001 |
0.001 |
** |
| Controle |
|
|
|
|
3rd quintile |
pre |
pos |
196 |
-0.743 |
0.458 |
0.458 |
ns |
266 |
-2.971 |
0.003 |
0.003 |
** |
| Controle |
|
|
|
|
4th quintile |
pre |
pos |
196 |
-4.091 |
0.000 |
0.000 |
**** |
266 |
-4.439 |
0.000 |
0.000 |
**** |
| Controle |
|
|
|
|
5th quintile |
pre |
pos |
196 |
0.555 |
0.580 |
0.580 |
ns |
266 |
-1.098 |
0.273 |
0.273 |
ns |
| Controle |
|
|
|
|
|
1st quintile |
2nd quintile |
97 |
2.281 |
0.025 |
0.247 |
ns |
132 |
1.437 |
0.153 |
1.000 |
ns |
| Controle |
|
|
|
|
|
1st quintile |
3rd quintile |
97 |
2.168 |
0.033 |
0.326 |
ns |
132 |
1.243 |
0.216 |
1.000 |
ns |
| Controle |
|
|
|
|
|
1st quintile |
4th quintile |
97 |
0.469 |
0.640 |
1.000 |
ns |
132 |
0.460 |
0.646 |
1.000 |
ns |
| Controle |
|
|
|
|
|
1st quintile |
5th quintile |
97 |
1.207 |
0.231 |
1.000 |
ns |
132 |
0.881 |
0.380 |
1.000 |
ns |
| Controle |
|
|
|
|
|
2nd quintile |
3rd quintile |
97 |
0.517 |
0.606 |
1.000 |
ns |
132 |
0.077 |
0.939 |
1.000 |
ns |
| Controle |
|
|
|
|
|
2nd quintile |
4th quintile |
97 |
-1.769 |
0.080 |
0.801 |
ns |
132 |
-0.800 |
0.425 |
1.000 |
ns |
| Controle |
|
|
|
|
|
2nd quintile |
5th quintile |
97 |
0.057 |
0.954 |
1.000 |
ns |
132 |
0.226 |
0.822 |
1.000 |
ns |
| Controle |
|
|
|
|
|
3rd quintile |
4th quintile |
97 |
-2.781 |
0.007 |
0.065 |
ns |
132 |
-1.102 |
0.273 |
1.000 |
ns |
| Controle |
|
|
|
|
|
3rd quintile |
5th quintile |
97 |
-0.318 |
0.751 |
1.000 |
ns |
132 |
0.226 |
0.822 |
1.000 |
ns |
| Controle |
|
|
|
|
|
4th quintile |
5th quintile |
97 |
2.000 |
0.048 |
0.483 |
ns |
132 |
1.252 |
0.213 |
1.000 |
ns |
| Experimental |
|
|
|
|
1st quintile |
pre |
pos |
196 |
-3.888 |
0.000 |
0.000 |
*** |
266 |
-3.579 |
0.000 |
0.000 |
*** |
| Experimental |
|
|
|
|
2nd quintile |
pre |
pos |
196 |
-1.805 |
0.073 |
0.073 |
ns |
266 |
-1.935 |
0.054 |
0.054 |
ns |
| Experimental |
|
|
|
|
3rd quintile |
pre |
pos |
196 |
-4.084 |
0.000 |
0.000 |
**** |
266 |
-3.183 |
0.002 |
0.002 |
** |
| Experimental |
|
|
|
|
4th quintile |
pre |
pos |
196 |
-1.815 |
0.071 |
0.071 |
ns |
266 |
-2.714 |
0.007 |
0.007 |
** |
| Experimental |
|
|
|
|
5th quintile |
pre |
pos |
196 |
-2.660 |
0.008 |
0.008 |
** |
266 |
-2.576 |
0.011 |
0.011 |
* |
| Experimental |
|
|
|
|
|
1st quintile |
2nd quintile |
97 |
1.709 |
0.091 |
0.907 |
ns |
132 |
1.319 |
0.190 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
1st quintile |
3rd quintile |
97 |
0.152 |
0.879 |
1.000 |
ns |
132 |
0.534 |
0.594 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
1st quintile |
4th quintile |
97 |
0.553 |
0.581 |
1.000 |
ns |
132 |
0.195 |
0.846 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
1st quintile |
5th quintile |
97 |
-0.153 |
0.879 |
1.000 |
ns |
132 |
0.152 |
0.879 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
2nd quintile |
3rd quintile |
97 |
-2.059 |
0.042 |
0.422 |
ns |
132 |
-0.915 |
0.362 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
2nd quintile |
4th quintile |
97 |
-0.998 |
0.321 |
1.000 |
ns |
132 |
-1.085 |
0.280 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
2nd quintile |
5th quintile |
97 |
-1.617 |
0.109 |
1.000 |
ns |
132 |
-0.892 |
0.374 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
3rd quintile |
4th quintile |
97 |
0.729 |
0.468 |
1.000 |
ns |
132 |
-0.436 |
0.664 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
3rd quintile |
5th quintile |
97 |
-0.443 |
0.659 |
1.000 |
ns |
132 |
-0.386 |
0.700 |
1.000 |
ns |
| Experimental |
|
|
|
|
|
4th quintile |
5th quintile |
97 |
-1.086 |
0.280 |
1.000 |
ns |
132 |
-0.017 |
0.986 |
1.000 |
ns |
|
|
|
|
|
1st quintile |
Controle |
Experimental |
97 |
0.582 |
0.562 |
0.562 |
ns |
132 |
0.490 |
0.625 |
0.625 |
ns |
|
|
|
|
|
2nd quintile |
Controle |
Experimental |
97 |
0.159 |
0.874 |
0.874 |
ns |
132 |
0.711 |
0.478 |
0.478 |
ns |
|
|
|
|
|
3rd quintile |
Controle |
Experimental |
97 |
-2.721 |
0.008 |
0.008 |
** |
132 |
-0.413 |
0.680 |
0.680 |
ns |
|
|
|
|
|
4th quintile |
Controle |
Experimental |
97 |
0.888 |
0.377 |
0.377 |
ns |
132 |
0.143 |
0.887 |
0.887 |
ns |
|
|
|
|
|
5th quintile |
Controle |
Experimental |
97 |
-2.732 |
0.007 |
0.007 |
** |
132 |
-1.238 |
0.218 |
0.218 |
ns |
EMMS Table Comparison
df <- do.call(plyr::rbind.fill, lemms)
df[["N-N'"]] <- df[["N"]] - df[["N'"]]
df <- df[,c(names(lfatores)[names(lfatores) %in% colnames(df)],
names(df)[!names(df) %in% names(lfatores)])]
| Controle |
|
|
|
|
|
33 |
88.061 |
4.258 |
139.909 |
3.605 |
141.353 |
2.989 |
135.346 |
147.360 |
90 |
90.222 |
2.600 |
113.022 |
3.024 |
113.479 |
2.563 |
108.412 |
118.546 |
-57 |
| Experimental |
|
|
|
|
|
19 |
94.263 |
4.550 |
138.632 |
5.740 |
136.124 |
3.949 |
128.189 |
144.059 |
53 |
92.170 |
2.691 |
113.660 |
3.769 |
112.885 |
3.341 |
106.280 |
119.490 |
-34 |
| Controle |
F |
|
|
|
|
15 |
86.600 |
7.768 |
112.000 |
4.136 |
115.427 |
1.877 |
111.664 |
119.190 |
36 |
92.333 |
4.096 |
120.056 |
4.439 |
119.217 |
3.989 |
111.330 |
127.104 |
-21 |
| Controle |
M |
|
|
|
|
17 |
97.706 |
5.989 |
111.706 |
4.312 |
108.597 |
1.762 |
105.064 |
112.130 |
54 |
88.815 |
3.381 |
108.333 |
3.984 |
109.618 |
3.261 |
103.170 |
116.066 |
-37 |
| Experimental |
F |
|
|
|
|
8 |
99.875 |
4.879 |
125.000 |
5.155 |
120.615 |
2.568 |
115.467 |
125.763 |
22 |
97.682 |
3.682 |
123.955 |
5.482 |
119.889 |
5.135 |
109.736 |
130.043 |
-14 |
| Experimental |
M |
|
|
|
|
19 |
89.158 |
5.059 |
104.053 |
3.391 |
105.975 |
1.660 |
102.646 |
109.303 |
31 |
88.258 |
3.673 |
106.355 |
4.784 |
107.975 |
4.303 |
99.467 |
116.484 |
-12 |
| Controle |
|
Rural |
|
|
|
54 |
91.111 |
3.608 |
101.259 |
2.955 |
101.490 |
2.205 |
97.112 |
105.868 |
58 |
90.276 |
3.514 |
104.914 |
3.334 |
105.138 |
2.887 |
99.411 |
110.865 |
-4 |
| Controle |
|
Urbana |
|
|
|
7 |
92.286 |
9.097 |
142.429 |
10.792 |
141.934 |
6.124 |
129.774 |
154.094 |
7 |
92.286 |
9.097 |
142.429 |
10.792 |
141.560 |
8.311 |
125.073 |
158.046 |
0 |
| Experimental |
|
Rural |
|
|
|
32 |
89.969 |
3.268 |
103.594 |
3.038 |
104.530 |
2.866 |
98.840 |
110.221 |
35 |
89.114 |
3.232 |
108.371 |
3.954 |
109.228 |
3.719 |
101.851 |
116.605 |
-3 |
| Experimental |
|
Urbana |
|
|
|
6 |
102.000 |
6.713 |
132.000 |
13.849 |
125.503 |
6.656 |
112.288 |
138.719 |
6 |
102.000 |
6.713 |
132.000 |
13.849 |
125.846 |
9.034 |
107.924 |
143.768 |
0 |
| Controle |
|
|
Branca |
|
|
12 |
103.667 |
4.606 |
114.000 |
5.510 |
107.117 |
4.418 |
98.297 |
115.938 |
12 |
103.667 |
4.606 |
114.000 |
5.510 |
106.922 |
5.467 |
96.014 |
117.829 |
0 |
| Controle |
|
|
Parda |
|
|
38 |
90.974 |
3.848 |
96.000 |
3.471 |
97.395 |
2.437 |
92.529 |
102.261 |
41 |
90.756 |
3.813 |
99.951 |
4.090 |
101.365 |
2.907 |
95.566 |
107.164 |
-3 |
| Experimental |
|
|
Branca |
|
|
5 |
103.400 |
5.591 |
125.400 |
8.310 |
118.691 |
6.757 |
105.200 |
132.182 |
5 |
103.400 |
5.591 |
125.400 |
8.310 |
118.497 |
8.368 |
101.803 |
135.191 |
0 |
| Experimental |
|
|
Parda |
|
|
16 |
87.062 |
5.173 |
99.500 |
4.798 |
103.446 |
3.781 |
95.897 |
110.994 |
16 |
87.062 |
5.173 |
99.500 |
4.798 |
103.343 |
4.678 |
94.012 |
112.675 |
0 |
| Controle |
|
|
|
6 ano |
|
7 |
85.429 |
12.656 |
125.714 |
8.662 |
128.623 |
3.234 |
122.018 |
135.228 |
31 |
87.645 |
4.661 |
101.645 |
4.675 |
103.718 |
4.264 |
95.285 |
112.151 |
-24 |
| Controle |
|
|
|
7 ano |
|
2 |
77.000 |
20.000 |
111.500 |
13.500 |
120.090 |
6.084 |
107.666 |
132.515 |
19 |
93.895 |
5.668 |
112.053 |
6.218 |
110.198 |
5.440 |
99.439 |
120.957 |
-17 |
| Controle |
|
|
|
8 ano |
|
8 |
85.125 |
8.649 |
144.625 |
6.732 |
147.738 |
3.029 |
141.553 |
153.924 |
15 |
88.467 |
6.524 |
123.067 |
8.332 |
124.624 |
6.119 |
112.521 |
136.726 |
-7 |
| Controle |
|
|
|
9 ano |
|
10 |
87.900 |
6.747 |
145.000 |
5.615 |
146.243 |
2.698 |
140.732 |
151.754 |
25 |
91.680 |
4.733 |
121.840 |
5.418 |
121.378 |
4.737 |
112.008 |
130.747 |
-15 |
| Experimental |
|
|
|
6 ano |
|
2 |
82.000 |
14.000 |
147.000 |
3.000 |
152.220 |
6.049 |
139.867 |
164.573 |
19 |
88.368 |
4.042 |
115.632 |
7.869 |
117.250 |
5.438 |
106.494 |
128.006 |
-17 |
| Experimental |
|
|
|
7 ano |
|
3 |
99.333 |
8.950 |
123.000 |
8.021 |
116.536 |
4.961 |
106.405 |
126.666 |
11 |
92.545 |
5.443 |
106.636 |
5.568 |
105.630 |
7.143 |
91.503 |
119.757 |
-8 |
| Experimental |
|
|
|
8 ano |
|
4 |
103.000 |
6.403 |
143.750 |
7.962 |
134.814 |
4.347 |
125.936 |
143.692 |
13 |
91.000 |
6.690 |
111.769 |
8.089 |
111.734 |
6.569 |
98.742 |
124.726 |
-9 |
| Experimental |
|
|
|
9 ano |
|
3 |
104.667 |
7.446 |
142.667 |
3.667 |
132.607 |
5.015 |
122.365 |
142.849 |
10 |
100.500 |
5.903 |
120.100 |
6.036 |
114.095 |
7.537 |
99.188 |
129.001 |
-7 |
| Controle |
|
|
|
|
1st quintile |
11 |
50.000 |
3.382 |
82.727 |
5.360 |
114.071 |
8.208 |
97.781 |
130.362 |
17 |
52.118 |
2.522 |
96.647 |
7.129 |
125.803 |
13.202 |
99.688 |
151.918 |
-6 |
| Controle |
|
|
|
|
2nd quintile |
11 |
77.000 |
1.763 |
86.818 |
2.866 |
97.765 |
4.558 |
88.718 |
106.812 |
15 |
77.800 |
1.395 |
99.267 |
5.930 |
109.137 |
7.411 |
94.476 |
123.798 |
-4 |
| Controle |
|
|
|
|
3rd quintile |
11 |
90.636 |
0.704 |
94.091 |
3.288 |
94.736 |
3.785 |
87.223 |
102.249 |
18 |
89.333 |
0.672 |
107.222 |
5.850 |
108.432 |
5.714 |
97.130 |
119.734 |
-7 |
| Controle |
|
|
|
|
4th quintile |
17 |
101.588 |
1.064 |
116.882 |
3.662 |
109.254 |
3.521 |
102.265 |
116.243 |
22 |
102.182 |
0.948 |
126.364 |
4.833 |
117.925 |
6.184 |
105.693 |
130.157 |
-5 |
| Controle |
|
|
|
|
5th quintile |
14 |
124.214 |
3.285 |
121.929 |
4.734 |
97.208 |
6.652 |
84.005 |
110.410 |
18 |
122.833 |
2.644 |
129.444 |
6.760 |
105.498 |
11.262 |
83.220 |
127.776 |
-4 |
| Experimental |
|
|
|
|
1st quintile |
5 |
57.800 |
3.367 |
84.600 |
6.392 |
110.052 |
8.152 |
93.871 |
126.232 |
6 |
58.167 |
2.774 |
95.500 |
12.085 |
120.114 |
14.035 |
92.351 |
147.876 |
-1 |
| Experimental |
|
|
|
|
2nd quintile |
10 |
77.600 |
1.360 |
86.400 |
2.876 |
96.894 |
4.657 |
87.651 |
106.136 |
11 |
76.727 |
1.508 |
91.636 |
5.847 |
102.312 |
8.473 |
85.551 |
119.073 |
-1 |
| Experimental |
|
|
|
|
3rd quintile |
13 |
90.538 |
0.773 |
108.000 |
3.111 |
108.719 |
3.483 |
101.806 |
115.633 |
15 |
90.867 |
0.710 |
111.867 |
3.764 |
111.925 |
6.236 |
99.589 |
124.260 |
-2 |
| Experimental |
|
|
|
|
4th quintile |
7 |
100.429 |
2.114 |
111.000 |
5.345 |
104.248 |
4.994 |
94.335 |
114.160 |
9 |
101.000 |
2.028 |
124.111 |
10.148 |
116.560 |
8.614 |
99.520 |
133.599 |
-2 |
| Experimental |
|
|
|
|
5th quintile |
9 |
119.556 |
2.646 |
133.222 |
3.589 |
112.021 |
6.463 |
99.194 |
124.847 |
12 |
118.333 |
2.076 |
137.333 |
6.483 |
116.766 |
10.875 |
95.254 |
138.278 |
-3 |